/export/starexec/sandbox/solver/bin/starexec_run_standard /export/starexec/sandbox/benchmark/theBenchmark.hs /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- MAYBE proof of /export/starexec/sandbox/benchmark/theBenchmark.hs # AProVE Commit ID: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty H-Termination with start terms of the given HASKELL could not be shown: (0) HASKELL (1) IFR [EQUIVALENT, 0 ms] (2) HASKELL (3) BR [EQUIVALENT, 0 ms] (4) HASKELL (5) COR [EQUIVALENT, 12 ms] (6) HASKELL (7) LetRed [EQUIVALENT, 0 ms] (8) HASKELL (9) NumRed [SOUND, 0 ms] (10) HASKELL (11) Narrow [SOUND, 0 ms] (12) AND (13) QDP (14) DependencyGraphProof [EQUIVALENT, 0 ms] (15) AND (16) QDP (17) MRRProof [EQUIVALENT, 75 ms] (18) QDP (19) PisEmptyProof [EQUIVALENT, 0 ms] (20) YES (21) QDP (22) QDPSizeChangeProof [EQUIVALENT, 0 ms] (23) YES (24) QDP (25) QDPSizeChangeProof [EQUIVALENT, 0 ms] (26) YES (27) QDP (28) QDPSizeChangeProof [EQUIVALENT, 0 ms] (29) YES (30) QDP (31) QDPSizeChangeProof [EQUIVALENT, 0 ms] (32) YES (33) QDP (34) QDPSizeChangeProof [EQUIVALENT, 0 ms] (35) YES (36) QDP (37) QDPSizeChangeProof [EQUIVALENT, 0 ms] (38) YES (39) QDP (40) QDPSizeChangeProof [EQUIVALENT, 0 ms] (41) YES (42) QDP (43) DependencyGraphProof [EQUIVALENT, 0 ms] (44) AND (45) QDP (46) QDPOrderProof [EQUIVALENT, 12 ms] (47) QDP (48) DependencyGraphProof [EQUIVALENT, 0 ms] (49) QDP (50) QDPSizeChangeProof [EQUIVALENT, 0 ms] (51) YES (52) QDP (53) MRRProof [EQUIVALENT, 0 ms] (54) QDP (55) PisEmptyProof [EQUIVALENT, 0 ms] (56) YES (57) QDP (58) QDPSizeChangeProof [EQUIVALENT, 0 ms] (59) YES (60) QDP (61) TransformationProof [EQUIVALENT, 0 ms] (62) QDP (63) UsableRulesProof [EQUIVALENT, 0 ms] (64) QDP (65) QReductionProof [EQUIVALENT, 34 ms] (66) QDP (67) TransformationProof [EQUIVALENT, 99 ms] (68) QDP (69) DependencyGraphProof [EQUIVALENT, 0 ms] (70) QDP (71) TransformationProof [EQUIVALENT, 0 ms] (72) QDP (73) TransformationProof [EQUIVALENT, 0 ms] (74) QDP (75) DependencyGraphProof [EQUIVALENT, 0 ms] (76) QDP (77) UsableRulesProof [EQUIVALENT, 0 ms] (78) QDP (79) QReductionProof [EQUIVALENT, 0 ms] (80) QDP (81) TransformationProof [EQUIVALENT, 0 ms] (82) QDP (83) TransformationProof [EQUIVALENT, 0 ms] (84) QDP (85) TransformationProof [EQUIVALENT, 0 ms] (86) QDP (87) TransformationProof [EQUIVALENT, 0 ms] (88) QDP (89) TransformationProof [EQUIVALENT, 0 ms] (90) QDP (91) DependencyGraphProof [EQUIVALENT, 0 ms] (92) QDP (93) UsableRulesProof [EQUIVALENT, 0 ms] (94) QDP (95) QReductionProof [EQUIVALENT, 14 ms] (96) QDP (97) TransformationProof [EQUIVALENT, 0 ms] (98) QDP (99) DependencyGraphProof [EQUIVALENT, 0 ms] (100) QDP (101) UsableRulesProof [EQUIVALENT, 0 ms] (102) QDP (103) QReductionProof [EQUIVALENT, 0 ms] (104) QDP (105) TransformationProof [EQUIVALENT, 21 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) TransformationProof [EQUIVALENT, 0 ms] (116) QDP (117) TransformationProof [EQUIVALENT, 0 ms] (118) QDP (119) TransformationProof [EQUIVALENT, 0 ms] (120) QDP (121) TransformationProof [EQUIVALENT, 0 ms] (122) QDP (123) DependencyGraphProof [EQUIVALENT, 0 ms] (124) QDP (125) UsableRulesProof [EQUIVALENT, 0 ms] (126) QDP (127) QReductionProof [EQUIVALENT, 0 ms] (128) QDP (129) TransformationProof [EQUIVALENT, 59 ms] (130) QDP (131) TransformationProof [EQUIVALENT, 0 ms] (132) QDP (133) TransformationProof [EQUIVALENT, 0 ms] (134) QDP (135) TransformationProof [EQUIVALENT, 0 ms] (136) QDP (137) TransformationProof [EQUIVALENT, 0 ms] (138) QDP (139) TransformationProof [EQUIVALENT, 0 ms] (140) QDP (141) TransformationProof [EQUIVALENT, 0 ms] (142) QDP (143) DependencyGraphProof [EQUIVALENT, 0 ms] (144) QDP (145) TransformationProof [EQUIVALENT, 0 ms] (146) QDP (147) UsableRulesProof [EQUIVALENT, 0 ms] (148) QDP (149) QReductionProof [EQUIVALENT, 0 ms] (150) QDP (151) TransformationProof [EQUIVALENT, 103 ms] (152) QDP (153) DependencyGraphProof [EQUIVALENT, 0 ms] (154) QDP (155) TransformationProof [EQUIVALENT, 0 ms] (156) QDP (157) TransformationProof [EQUIVALENT, 0 ms] (158) QDP (159) DependencyGraphProof [EQUIVALENT, 0 ms] (160) QDP (161) UsableRulesProof [EQUIVALENT, 0 ms] (162) QDP (163) QReductionProof [EQUIVALENT, 0 ms] (164) QDP (165) TransformationProof [EQUIVALENT, 59 ms] (166) QDP (167) TransformationProof [EQUIVALENT, 0 ms] (168) QDP (169) TransformationProof [EQUIVALENT, 0 ms] (170) QDP (171) DependencyGraphProof [EQUIVALENT, 0 ms] (172) QDP (173) UsableRulesProof [EQUIVALENT, 0 ms] (174) QDP (175) QReductionProof [EQUIVALENT, 0 ms] (176) QDP (177) TransformationProof [EQUIVALENT, 18 ms] (178) QDP (179) TransformationProof [EQUIVALENT, 0 ms] (180) QDP (181) TransformationProof [EQUIVALENT, 0 ms] (182) QDP (183) TransformationProof [EQUIVALENT, 0 ms] (184) QDP (185) TransformationProof [EQUIVALENT, 0 ms] (186) QDP (187) TransformationProof [EQUIVALENT, 1 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) DependencyGraphProof [EQUIVALENT, 0 ms] (196) QDP (197) TransformationProof [EQUIVALENT, 0 ms] (198) QDP (199) DependencyGraphProof [EQUIVALENT, 0 ms] (200) QDP (201) UsableRulesProof [EQUIVALENT, 0 ms] (202) QDP (203) QReductionProof [EQUIVALENT, 0 ms] (204) QDP (205) TransformationProof [EQUIVALENT, 66 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) DependencyGraphProof [EQUIVALENT, 0 ms] (214) QDP (215) UsableRulesProof [EQUIVALENT, 0 ms] (216) QDP (217) QReductionProof [EQUIVALENT, 0 ms] (218) QDP (219) TransformationProof [EQUIVALENT, 28 ms] (220) QDP (221) UsableRulesProof [EQUIVALENT, 0 ms] (222) QDP (223) QReductionProof [EQUIVALENT, 0 ms] (224) QDP (225) TransformationProof [EQUIVALENT, 2 ms] (226) QDP (227) DependencyGraphProof [EQUIVALENT, 0 ms] (228) AND (229) QDP (230) UsableRulesProof [EQUIVALENT, 0 ms] (231) QDP (232) QReductionProof [EQUIVALENT, 0 ms] (233) QDP (234) MNOCProof [EQUIVALENT, 0 ms] (235) QDP (236) NonTerminationLoopProof [COMPLETE, 0 ms] (237) NO (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) TransformationProof [EQUIVALENT, 0 ms] (252) QDP (253) TransformationProof [EQUIVALENT, 0 ms] (254) QDP (255) DependencyGraphProof [EQUIVALENT, 0 ms] (256) AND (257) QDP (258) UsableRulesProof [EQUIVALENT, 0 ms] (259) QDP (260) QReductionProof [EQUIVALENT, 0 ms] (261) QDP (262) MNOCProof [EQUIVALENT, 0 ms] (263) QDP (264) NonTerminationLoopProof [COMPLETE, 0 ms] (265) NO (266) QDP (267) TransformationProof [EQUIVALENT, 0 ms] (268) QDP (269) TransformationProof [EQUIVALENT, 0 ms] (270) QDP (271) TransformationProof [EQUIVALENT, 0 ms] (272) QDP (273) TransformationProof [EQUIVALENT, 0 ms] (274) QDP (275) TransformationProof [EQUIVALENT, 0 ms] (276) QDP (277) TransformationProof [EQUIVALENT, 0 ms] (278) QDP (279) TransformationProof [EQUIVALENT, 0 ms] (280) QDP (281) TransformationProof [EQUIVALENT, 0 ms] (282) QDP (283) TransformationProof [EQUIVALENT, 0 ms] (284) QDP (285) TransformationProof [EQUIVALENT, 0 ms] (286) QDP (287) TransformationProof [EQUIVALENT, 0 ms] (288) QDP (289) TransformationProof [EQUIVALENT, 0 ms] (290) QDP (291) TransformationProof [EQUIVALENT, 0 ms] (292) QDP (293) TransformationProof [EQUIVALENT, 0 ms] (294) QDP (295) TransformationProof [EQUIVALENT, 2 ms] (296) QDP (297) TransformationProof [EQUIVALENT, 0 ms] (298) QDP (299) TransformationProof [EQUIVALENT, 0 ms] (300) QDP (301) TransformationProof [EQUIVALENT, 0 ms] (302) QDP (303) TransformationProof [EQUIVALENT, 0 ms] (304) QDP (305) TransformationProof [EQUIVALENT, 0 ms] (306) QDP (307) TransformationProof [EQUIVALENT, 0 ms] (308) QDP (309) TransformationProof [EQUIVALENT, 0 ms] (310) QDP (311) TransformationProof [EQUIVALENT, 0 ms] (312) QDP (313) TransformationProof [EQUIVALENT, 0 ms] (314) QDP (315) TransformationProof [EQUIVALENT, 0 ms] (316) QDP (317) TransformationProof [EQUIVALENT, 0 ms] (318) QDP (319) TransformationProof [EQUIVALENT, 0 ms] (320) QDP (321) DependencyGraphProof [EQUIVALENT, 0 ms] (322) QDP (323) TransformationProof [EQUIVALENT, 0 ms] (324) QDP (325) DependencyGraphProof [EQUIVALENT, 0 ms] (326) QDP (327) TransformationProof [EQUIVALENT, 0 ms] (328) QDP (329) TransformationProof [EQUIVALENT, 0 ms] (330) QDP (331) TransformationProof [EQUIVALENT, 0 ms] (332) QDP (333) DependencyGraphProof [EQUIVALENT, 0 ms] (334) QDP (335) TransformationProof [EQUIVALENT, 0 ms] (336) QDP (337) TransformationProof [EQUIVALENT, 0 ms] (338) QDP (339) TransformationProof [EQUIVALENT, 0 ms] (340) QDP (341) TransformationProof [EQUIVALENT, 0 ms] (342) QDP (343) TransformationProof [EQUIVALENT, 0 ms] (344) QDP (345) TransformationProof [EQUIVALENT, 0 ms] (346) QDP (347) TransformationProof [EQUIVALENT, 0 ms] (348) QDP (349) TransformationProof [EQUIVALENT, 0 ms] (350) QDP (351) TransformationProof [EQUIVALENT, 0 ms] (352) QDP (353) TransformationProof [EQUIVALENT, 0 ms] (354) QDP (355) TransformationProof [EQUIVALENT, 0 ms] (356) QDP (357) TransformationProof [EQUIVALENT, 0 ms] (358) QDP (359) TransformationProof [EQUIVALENT, 0 ms] (360) QDP (361) UsableRulesProof [EQUIVALENT, 0 ms] (362) QDP (363) QReductionProof [EQUIVALENT, 0 ms] (364) QDP (365) TransformationProof [EQUIVALENT, 22 ms] (366) QDP (367) TransformationProof [EQUIVALENT, 0 ms] (368) QDP (369) TransformationProof [EQUIVALENT, 0 ms] (370) QDP (371) TransformationProof [EQUIVALENT, 0 ms] (372) QDP (373) TransformationProof [EQUIVALENT, 0 ms] (374) QDP (375) TransformationProof [EQUIVALENT, 0 ms] (376) QDP (377) TransformationProof [EQUIVALENT, 0 ms] (378) QDP (379) TransformationProof [EQUIVALENT, 0 ms] (380) QDP (381) TransformationProof [EQUIVALENT, 0 ms] (382) QDP (383) TransformationProof [EQUIVALENT, 0 ms] (384) QDP (385) TransformationProof [EQUIVALENT, 0 ms] (386) QDP (387) TransformationProof [EQUIVALENT, 1 ms] (388) QDP (389) TransformationProof [EQUIVALENT, 0 ms] (390) QDP (391) TransformationProof [EQUIVALENT, 0 ms] (392) QDP (393) TransformationProof [EQUIVALENT, 0 ms] (394) QDP (395) TransformationProof [EQUIVALENT, 0 ms] (396) QDP (397) TransformationProof [EQUIVALENT, 0 ms] (398) QDP (399) TransformationProof [EQUIVALENT, 0 ms] (400) QDP (401) TransformationProof [EQUIVALENT, 0 ms] (402) QDP (403) DependencyGraphProof [EQUIVALENT, 0 ms] (404) AND (405) QDP (406) UsableRulesProof [EQUIVALENT, 0 ms] (407) QDP (408) QReductionProof [EQUIVALENT, 0 ms] (409) QDP (410) TransformationProof [EQUIVALENT, 0 ms] (411) QDP (412) DependencyGraphProof [EQUIVALENT, 0 ms] (413) QDP (414) TransformationProof [EQUIVALENT, 0 ms] (415) QDP (416) DependencyGraphProof [EQUIVALENT, 0 ms] (417) QDP (418) UsableRulesProof [EQUIVALENT, 0 ms] (419) QDP (420) QReductionProof [EQUIVALENT, 0 ms] (421) QDP (422) TransformationProof [EQUIVALENT, 0 ms] (423) QDP (424) TransformationProof [EQUIVALENT, 0 ms] (425) QDP (426) TransformationProof [EQUIVALENT, 0 ms] (427) QDP (428) TransformationProof [EQUIVALENT, 0 ms] (429) QDP (430) TransformationProof [EQUIVALENT, 0 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) DependencyGraphProof [EQUIVALENT, 0 ms] (441) AND (442) QDP (443) UsableRulesProof [EQUIVALENT, 0 ms] (444) QDP (445) QReductionProof [EQUIVALENT, 8 ms] (446) QDP (447) MNOCProof [EQUIVALENT, 0 ms] (448) QDP (449) NonTerminationLoopProof [COMPLETE, 202 ms] (450) NO (451) QDP (452) TransformationProof [EQUIVALENT, 0 ms] (453) QDP (454) DependencyGraphProof [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) DependencyGraphProof [EQUIVALENT, 0 ms] (469) QDP (470) TransformationProof [EQUIVALENT, 0 ms] (471) QDP (472) DependencyGraphProof [EQUIVALENT, 0 ms] (473) QDP (474) TransformationProof [EQUIVALENT, 0 ms] (475) QDP (476) DependencyGraphProof [EQUIVALENT, 0 ms] (477) QDP (478) MNOCProof [EQUIVALENT, 0 ms] (479) QDP (480) InductionCalculusProof [EQUIVALENT, 0 ms] (481) QDP (482) QDP (483) UsableRulesProof [EQUIVALENT, 0 ms] (484) QDP (485) QReductionProof [EQUIVALENT, 0 ms] (486) QDP (487) TransformationProof [EQUIVALENT, 0 ms] (488) QDP (489) DependencyGraphProof [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) TransformationProof [EQUIVALENT, 0 ms] (500) QDP (501) DependencyGraphProof [EQUIVALENT, 0 ms] (502) QDP (503) TransformationProof [EQUIVALENT, 0 ms] (504) QDP (505) TransformationProof [EQUIVALENT, 0 ms] (506) QDP (507) TransformationProof [EQUIVALENT, 0 ms] (508) QDP (509) TransformationProof [EQUIVALENT, 0 ms] (510) QDP (511) DependencyGraphProof [EQUIVALENT, 0 ms] (512) QDP (513) TransformationProof [EQUIVALENT, 0 ms] (514) QDP (515) DependencyGraphProof [EQUIVALENT, 0 ms] (516) QDP (517) TransformationProof [EQUIVALENT, 0 ms] (518) QDP (519) DependencyGraphProof [EQUIVALENT, 0 ms] (520) QDP (521) TransformationProof [EQUIVALENT, 0 ms] (522) QDP (523) TransformationProof [EQUIVALENT, 0 ms] (524) QDP (525) TransformationProof [EQUIVALENT, 0 ms] (526) QDP (527) TransformationProof [EQUIVALENT, 0 ms] (528) QDP (529) DependencyGraphProof [EQUIVALENT, 0 ms] (530) QDP (531) TransformationProof [EQUIVALENT, 0 ms] (532) QDP (533) TransformationProof [EQUIVALENT, 0 ms] (534) QDP (535) TransformationProof [EQUIVALENT, 0 ms] (536) QDP (537) TransformationProof [EQUIVALENT, 0 ms] (538) QDP (539) TransformationProof [EQUIVALENT, 0 ms] (540) QDP (541) TransformationProof [EQUIVALENT, 0 ms] (542) QDP (543) TransformationProof [EQUIVALENT, 0 ms] (544) QDP (545) TransformationProof [EQUIVALENT, 0 ms] (546) QDP (547) DependencyGraphProof [EQUIVALENT, 0 ms] (548) QDP (549) TransformationProof [EQUIVALENT, 0 ms] (550) QDP (551) DependencyGraphProof [EQUIVALENT, 0 ms] (552) QDP (553) UsableRulesProof [EQUIVALENT, 0 ms] (554) QDP (555) TransformationProof [EQUIVALENT, 0 ms] (556) QDP (557) DependencyGraphProof [EQUIVALENT, 0 ms] (558) QDP (559) TransformationProof [EQUIVALENT, 0 ms] (560) QDP (561) DependencyGraphProof [EQUIVALENT, 0 ms] (562) QDP (563) TransformationProof [EQUIVALENT, 0 ms] (564) QDP (565) DependencyGraphProof [EQUIVALENT, 0 ms] (566) QDP (567) TransformationProof [EQUIVALENT, 0 ms] (568) QDP (569) TransformationProof [EQUIVALENT, 0 ms] (570) QDP (571) QDPOrderProof [EQUIVALENT, 313 ms] (572) QDP (573) DependencyGraphProof [EQUIVALENT, 0 ms] (574) TRUE (575) QDP (576) QDPSizeChangeProof [EQUIVALENT, 0 ms] (577) YES (578) QDP (579) TransformationProof [EQUIVALENT, 0 ms] (580) QDP (581) TransformationProof [EQUIVALENT, 0 ms] (582) QDP (583) UsableRulesProof [EQUIVALENT, 0 ms] (584) QDP (585) QReductionProof [EQUIVALENT, 0 ms] (586) QDP (587) MNOCProof [EQUIVALENT, 0 ms] (588) QDP (589) InductionCalculusProof [EQUIVALENT, 0 ms] (590) QDP (591) TransformationProof [EQUIVALENT, 0 ms] (592) QDP (593) TransformationProof [EQUIVALENT, 0 ms] (594) QDP (595) DependencyGraphProof [EQUIVALENT, 0 ms] (596) QDP (597) TransformationProof [EQUIVALENT, 0 ms] (598) QDP (599) DependencyGraphProof [EQUIVALENT, 0 ms] (600) QDP (601) TransformationProof [EQUIVALENT, 0 ms] (602) QDP (603) DependencyGraphProof [EQUIVALENT, 0 ms] (604) QDP (605) TransformationProof [EQUIVALENT, 0 ms] (606) QDP (607) DependencyGraphProof [EQUIVALENT, 0 ms] (608) QDP (609) TransformationProof [EQUIVALENT, 0 ms] (610) QDP (611) DependencyGraphProof [EQUIVALENT, 0 ms] (612) AND (613) QDP (614) UsableRulesProof [EQUIVALENT, 0 ms] (615) QDP (616) QReductionProof [EQUIVALENT, 0 ms] (617) QDP (618) TransformationProof [EQUIVALENT, 0 ms] (619) QDP (620) DependencyGraphProof [EQUIVALENT, 0 ms] (621) QDP (622) TransformationProof [EQUIVALENT, 0 ms] (623) QDP (624) TransformationProof [EQUIVALENT, 0 ms] (625) QDP (626) DependencyGraphProof [EQUIVALENT, 0 ms] (627) QDP (628) TransformationProof [EQUIVALENT, 0 ms] (629) QDP (630) DependencyGraphProof [EQUIVALENT, 0 ms] (631) AND (632) QDP (633) UsableRulesProof [EQUIVALENT, 0 ms] (634) QDP (635) QReductionProof [EQUIVALENT, 0 ms] (636) QDP (637) TransformationProof [EQUIVALENT, 0 ms] (638) QDP (639) TransformationProof [EQUIVALENT, 0 ms] (640) QDP (641) TransformationProof [EQUIVALENT, 0 ms] (642) QDP (643) TransformationProof [EQUIVALENT, 0 ms] (644) QDP (645) TransformationProof [EQUIVALENT, 0 ms] (646) QDP (647) DependencyGraphProof [EQUIVALENT, 0 ms] (648) QDP (649) TransformationProof [EQUIVALENT, 0 ms] (650) QDP (651) TransformationProof [EQUIVALENT, 0 ms] (652) QDP (653) DependencyGraphProof [EQUIVALENT, 0 ms] (654) QDP (655) TransformationProof [EQUIVALENT, 0 ms] (656) QDP (657) TransformationProof [EQUIVALENT, 0 ms] (658) QDP (659) TransformationProof [EQUIVALENT, 0 ms] (660) QDP (661) DependencyGraphProof [EQUIVALENT, 0 ms] (662) QDP (663) TransformationProof [EQUIVALENT, 0 ms] (664) QDP (665) TransformationProof [EQUIVALENT, 0 ms] (666) QDP (667) DependencyGraphProof [EQUIVALENT, 0 ms] (668) QDP (669) TransformationProof [EQUIVALENT, 0 ms] (670) QDP (671) QDPSizeChangeProof [EQUIVALENT, 12 ms] (672) YES (673) QDP (674) UsableRulesProof [EQUIVALENT, 0 ms] (675) QDP (676) QReductionProof [EQUIVALENT, 0 ms] (677) QDP (678) TransformationProof [EQUIVALENT, 0 ms] (679) QDP (680) TransformationProof [EQUIVALENT, 0 ms] (681) QDP (682) TransformationProof [EQUIVALENT, 0 ms] (683) QDP (684) TransformationProof [EQUIVALENT, 0 ms] (685) QDP (686) TransformationProof [EQUIVALENT, 0 ms] (687) QDP (688) TransformationProof [EQUIVALENT, 0 ms] (689) QDP (690) TransformationProof [EQUIVALENT, 0 ms] (691) QDP (692) TransformationProof [EQUIVALENT, 0 ms] (693) QDP (694) TransformationProof [EQUIVALENT, 0 ms] (695) QDP (696) TransformationProof [EQUIVALENT, 0 ms] (697) QDP (698) DependencyGraphProof [EQUIVALENT, 0 ms] (699) QDP (700) TransformationProof [EQUIVALENT, 0 ms] (701) QDP (702) TransformationProof [EQUIVALENT, 0 ms] (703) QDP (704) TransformationProof [EQUIVALENT, 0 ms] (705) QDP (706) TransformationProof [EQUIVALENT, 0 ms] (707) QDP (708) TransformationProof [EQUIVALENT, 0 ms] (709) QDP (710) TransformationProof [EQUIVALENT, 0 ms] (711) QDP (712) TransformationProof [EQUIVALENT, 0 ms] (713) QDP (714) TransformationProof [EQUIVALENT, 0 ms] (715) QDP (716) TransformationProof [EQUIVALENT, 0 ms] (717) QDP (718) TransformationProof [EQUIVALENT, 0 ms] (719) QDP (720) TransformationProof [EQUIVALENT, 0 ms] (721) QDP (722) TransformationProof [EQUIVALENT, 0 ms] (723) QDP (724) DependencyGraphProof [EQUIVALENT, 0 ms] (725) QDP (726) TransformationProof [EQUIVALENT, 0 ms] (727) QDP (728) DependencyGraphProof [EQUIVALENT, 0 ms] (729) AND (730) QDP (731) TransformationProof [EQUIVALENT, 0 ms] (732) QDP (733) TransformationProof [EQUIVALENT, 0 ms] (734) QDP (735) TransformationProof [EQUIVALENT, 0 ms] (736) QDP (737) TransformationProof [EQUIVALENT, 0 ms] (738) QDP (739) TransformationProof [EQUIVALENT, 0 ms] (740) QDP (741) TransformationProof [EQUIVALENT, 0 ms] (742) QDP (743) TransformationProof [EQUIVALENT, 0 ms] (744) QDP (745) DependencyGraphProof [EQUIVALENT, 0 ms] (746) QDP (747) QDPOrderProof [EQUIVALENT, 1191 ms] (748) QDP (749) DependencyGraphProof [EQUIVALENT, 0 ms] (750) TRUE (751) QDP (752) TransformationProof [EQUIVALENT, 0 ms] (753) QDP (754) DependencyGraphProof [EQUIVALENT, 0 ms] (755) AND (756) QDP (757) TransformationProof [EQUIVALENT, 0 ms] (758) QDP (759) TransformationProof [EQUIVALENT, 0 ms] (760) QDP (761) TransformationProof [EQUIVALENT, 0 ms] (762) QDP (763) TransformationProof [EQUIVALENT, 0 ms] (764) QDP (765) QDPOrderProof [EQUIVALENT, 495 ms] (766) QDP (767) DependencyGraphProof [EQUIVALENT, 0 ms] (768) TRUE (769) QDP (770) QReductionProof [EQUIVALENT, 0 ms] (771) QDP (772) InductionCalculusProof [EQUIVALENT, 0 ms] (773) QDP (774) QDP (775) UsableRulesProof [EQUIVALENT, 0 ms] (776) QDP (777) QReductionProof [EQUIVALENT, 0 ms] (778) QDP (779) TransformationProof [EQUIVALENT, 0 ms] (780) QDP (781) DependencyGraphProof [EQUIVALENT, 0 ms] (782) QDP (783) TransformationProof [EQUIVALENT, 0 ms] (784) QDP (785) TransformationProof [EQUIVALENT, 0 ms] (786) QDP (787) DependencyGraphProof [EQUIVALENT, 0 ms] (788) QDP (789) TransformationProof [EQUIVALENT, 0 ms] (790) QDP (791) DependencyGraphProof [EQUIVALENT, 0 ms] (792) AND (793) QDP (794) UsableRulesProof [EQUIVALENT, 0 ms] (795) QDP (796) QReductionProof [EQUIVALENT, 0 ms] (797) QDP (798) TransformationProof [EQUIVALENT, 0 ms] (799) QDP (800) TransformationProof [EQUIVALENT, 0 ms] (801) QDP (802) TransformationProof [EQUIVALENT, 0 ms] (803) QDP (804) TransformationProof [EQUIVALENT, 0 ms] (805) QDP (806) TransformationProof [EQUIVALENT, 0 ms] (807) QDP (808) DependencyGraphProof [EQUIVALENT, 0 ms] (809) QDP (810) TransformationProof [EQUIVALENT, 0 ms] (811) QDP (812) TransformationProof [EQUIVALENT, 0 ms] (813) QDP (814) DependencyGraphProof [EQUIVALENT, 0 ms] (815) QDP (816) TransformationProof [EQUIVALENT, 0 ms] (817) QDP (818) TransformationProof [EQUIVALENT, 0 ms] (819) QDP (820) TransformationProof [EQUIVALENT, 0 ms] (821) QDP (822) DependencyGraphProof [EQUIVALENT, 0 ms] (823) QDP (824) TransformationProof [EQUIVALENT, 0 ms] (825) QDP (826) TransformationProof [EQUIVALENT, 0 ms] (827) QDP (828) DependencyGraphProof [EQUIVALENT, 0 ms] (829) QDP (830) TransformationProof [EQUIVALENT, 0 ms] (831) QDP (832) QDPSizeChangeProof [EQUIVALENT, 0 ms] (833) YES (834) QDP (835) UsableRulesProof [EQUIVALENT, 0 ms] (836) QDP (837) QReductionProof [EQUIVALENT, 0 ms] (838) QDP (839) TransformationProof [EQUIVALENT, 0 ms] (840) QDP (841) TransformationProof [EQUIVALENT, 0 ms] (842) QDP (843) TransformationProof [EQUIVALENT, 0 ms] (844) QDP (845) TransformationProof [EQUIVALENT, 0 ms] (846) QDP (847) TransformationProof [EQUIVALENT, 0 ms] (848) QDP (849) TransformationProof [EQUIVALENT, 0 ms] (850) QDP (851) TransformationProof [EQUIVALENT, 0 ms] (852) QDP (853) TransformationProof [EQUIVALENT, 0 ms] (854) QDP (855) TransformationProof [EQUIVALENT, 0 ms] (856) QDP (857) TransformationProof [EQUIVALENT, 0 ms] (858) QDP (859) DependencyGraphProof [EQUIVALENT, 0 ms] (860) QDP (861) TransformationProof [EQUIVALENT, 0 ms] (862) QDP (863) TransformationProof [EQUIVALENT, 0 ms] (864) QDP (865) TransformationProof [EQUIVALENT, 0 ms] (866) QDP (867) TransformationProof [EQUIVALENT, 0 ms] (868) QDP (869) TransformationProof [EQUIVALENT, 0 ms] (870) QDP (871) TransformationProof [EQUIVALENT, 0 ms] (872) QDP (873) TransformationProof [EQUIVALENT, 0 ms] (874) QDP (875) TransformationProof [EQUIVALENT, 0 ms] (876) QDP (877) TransformationProof [EQUIVALENT, 0 ms] (878) QDP (879) TransformationProof [EQUIVALENT, 0 ms] (880) QDP (881) TransformationProof [EQUIVALENT, 0 ms] (882) QDP (883) TransformationProof [EQUIVALENT, 0 ms] (884) QDP (885) DependencyGraphProof [EQUIVALENT, 0 ms] (886) QDP (887) TransformationProof [EQUIVALENT, 0 ms] (888) QDP (889) DependencyGraphProof [EQUIVALENT, 0 ms] (890) AND (891) QDP (892) TransformationProof [EQUIVALENT, 0 ms] (893) QDP (894) TransformationProof [EQUIVALENT, 0 ms] (895) QDP (896) TransformationProof [EQUIVALENT, 0 ms] (897) QDP (898) TransformationProof [EQUIVALENT, 0 ms] (899) QDP (900) TransformationProof [EQUIVALENT, 0 ms] (901) QDP (902) TransformationProof [EQUIVALENT, 0 ms] (903) QDP (904) TransformationProof [EQUIVALENT, 0 ms] (905) QDP (906) DependencyGraphProof [EQUIVALENT, 0 ms] (907) QDP (908) QDPOrderProof [EQUIVALENT, 491 ms] (909) QDP (910) DependencyGraphProof [EQUIVALENT, 0 ms] (911) TRUE (912) QDP (913) TransformationProof [EQUIVALENT, 0 ms] (914) QDP (915) DependencyGraphProof [EQUIVALENT, 0 ms] (916) AND (917) QDP (918) TransformationProof [EQUIVALENT, 0 ms] (919) QDP (920) TransformationProof [EQUIVALENT, 0 ms] (921) QDP (922) TransformationProof [EQUIVALENT, 0 ms] (923) QDP (924) TransformationProof [EQUIVALENT, 0 ms] (925) QDP (926) QDPOrderProof [EQUIVALENT, 993 ms] (927) QDP (928) DependencyGraphProof [EQUIVALENT, 0 ms] (929) TRUE (930) QDP (931) QReductionProof [EQUIVALENT, 0 ms] (932) QDP (933) InductionCalculusProof [EQUIVALENT, 0 ms] (934) QDP (935) QDP (936) UsableRulesProof [EQUIVALENT, 0 ms] (937) QDP (938) QReductionProof [EQUIVALENT, 0 ms] (939) QDP (940) TransformationProof [EQUIVALENT, 0 ms] (941) QDP (942) DependencyGraphProof [EQUIVALENT, 0 ms] (943) QDP (944) TransformationProof [EQUIVALENT, 0 ms] (945) QDP (946) TransformationProof [EQUIVALENT, 0 ms] (947) QDP (948) DependencyGraphProof [EQUIVALENT, 0 ms] (949) QDP (950) TransformationProof [EQUIVALENT, 0 ms] (951) QDP (952) DependencyGraphProof [EQUIVALENT, 0 ms] (953) QDP (954) TransformationProof [EQUIVALENT, 0 ms] (955) QDP (956) TransformationProof [EQUIVALENT, 0 ms] (957) QDP (958) TransformationProof [EQUIVALENT, 0 ms] (959) QDP (960) TransformationProof [EQUIVALENT, 0 ms] (961) QDP (962) DependencyGraphProof [EQUIVALENT, 0 ms] (963) QDP (964) TransformationProof [EQUIVALENT, 0 ms] (965) QDP (966) TransformationProof [EQUIVALENT, 0 ms] (967) QDP (968) TransformationProof [EQUIVALENT, 0 ms] (969) QDP (970) TransformationProof [EQUIVALENT, 0 ms] (971) QDP (972) TransformationProof [EQUIVALENT, 0 ms] (973) QDP (974) DependencyGraphProof [EQUIVALENT, 0 ms] (975) QDP (976) TransformationProof [EQUIVALENT, 0 ms] (977) QDP (978) TransformationProof [EQUIVALENT, 0 ms] (979) QDP (980) TransformationProof [EQUIVALENT, 0 ms] (981) QDP (982) TransformationProof [EQUIVALENT, 0 ms] (983) QDP (984) TransformationProof [EQUIVALENT, 0 ms] (985) QDP (986) TransformationProof [EQUIVALENT, 0 ms] (987) QDP (988) TransformationProof [EQUIVALENT, 0 ms] (989) QDP (990) DependencyGraphProof [EQUIVALENT, 0 ms] (991) QDP (992) TransformationProof [EQUIVALENT, 0 ms] (993) QDP (994) DependencyGraphProof [EQUIVALENT, 0 ms] (995) AND (996) QDP (997) UsableRulesProof [EQUIVALENT, 0 ms] (998) QDP (999) QReductionProof [EQUIVALENT, 0 ms] (1000) QDP (1001) TransformationProof [EQUIVALENT, 0 ms] (1002) QDP (1003) TransformationProof [EQUIVALENT, 0 ms] (1004) QDP (1005) DependencyGraphProof [EQUIVALENT, 0 ms] (1006) QDP (1007) TransformationProof [EQUIVALENT, 0 ms] (1008) QDP (1009) TransformationProof [EQUIVALENT, 0 ms] (1010) QDP (1011) DependencyGraphProof [EQUIVALENT, 0 ms] (1012) QDP (1013) TransformationProof [EQUIVALENT, 0 ms] (1014) QDP (1015) TransformationProof [EQUIVALENT, 0 ms] (1016) QDP (1017) TransformationProof [EQUIVALENT, 0 ms] (1018) QDP (1019) DependencyGraphProof [EQUIVALENT, 0 ms] (1020) QDP (1021) TransformationProof [EQUIVALENT, 0 ms] (1022) QDP (1023) TransformationProof [EQUIVALENT, 0 ms] (1024) QDP (1025) DependencyGraphProof [EQUIVALENT, 0 ms] (1026) QDP (1027) TransformationProof [EQUIVALENT, 0 ms] (1028) QDP (1029) QDPSizeChangeProof [EQUIVALENT, 0 ms] (1030) YES (1031) QDP (1032) UsableRulesProof [EQUIVALENT, 0 ms] (1033) QDP (1034) QReductionProof [EQUIVALENT, 0 ms] (1035) QDP (1036) TransformationProof [EQUIVALENT, 0 ms] (1037) QDP (1038) TransformationProof [EQUIVALENT, 0 ms] (1039) QDP (1040) TransformationProof [EQUIVALENT, 0 ms] (1041) QDP (1042) TransformationProof [EQUIVALENT, 0 ms] (1043) QDP (1044) TransformationProof [EQUIVALENT, 0 ms] (1045) QDP (1046) DependencyGraphProof [EQUIVALENT, 0 ms] (1047) QDP (1048) TransformationProof [EQUIVALENT, 0 ms] (1049) QDP (1050) TransformationProof [EQUIVALENT, 0 ms] (1051) QDP (1052) TransformationProof [EQUIVALENT, 0 ms] (1053) QDP (1054) TransformationProof [EQUIVALENT, 0 ms] (1055) QDP (1056) DependencyGraphProof [EQUIVALENT, 0 ms] (1057) QDP (1058) TransformationProof [EQUIVALENT, 0 ms] (1059) QDP (1060) DependencyGraphProof [EQUIVALENT, 0 ms] (1061) QDP (1062) TransformationProof [EQUIVALENT, 0 ms] (1063) QDP (1064) TransformationProof [EQUIVALENT, 0 ms] (1065) QDP (1066) DependencyGraphProof [EQUIVALENT, 0 ms] (1067) QDP (1068) TransformationProof [EQUIVALENT, 0 ms] (1069) QDP (1070) QDPSizeChangeProof [EQUIVALENT, 0 ms] (1071) YES (1072) QDP (1073) UsableRulesProof [EQUIVALENT, 0 ms] (1074) QDP (1075) QReductionProof [EQUIVALENT, 0 ms] (1076) QDP (1077) TransformationProof [EQUIVALENT, 0 ms] (1078) QDP (1079) TransformationProof [EQUIVALENT, 0 ms] (1080) QDP (1081) TransformationProof [EQUIVALENT, 0 ms] (1082) QDP (1083) TransformationProof [EQUIVALENT, 0 ms] (1084) QDP (1085) TransformationProof [EQUIVALENT, 0 ms] (1086) QDP (1087) TransformationProof [EQUIVALENT, 0 ms] (1088) QDP (1089) TransformationProof [EQUIVALENT, 0 ms] (1090) QDP (1091) TransformationProof [EQUIVALENT, 0 ms] (1092) QDP (1093) TransformationProof [EQUIVALENT, 0 ms] (1094) QDP (1095) DependencyGraphProof [EQUIVALENT, 0 ms] (1096) QDP (1097) TransformationProof [EQUIVALENT, 0 ms] (1098) QDP (1099) TransformationProof [EQUIVALENT, 0 ms] (1100) QDP (1101) TransformationProof [EQUIVALENT, 0 ms] (1102) QDP (1103) TransformationProof [EQUIVALENT, 0 ms] (1104) QDP (1105) TransformationProof [EQUIVALENT, 0 ms] (1106) QDP (1107) TransformationProof [EQUIVALENT, 0 ms] (1108) QDP (1109) TransformationProof [EQUIVALENT, 0 ms] (1110) QDP (1111) DependencyGraphProof [EQUIVALENT, 0 ms] (1112) QDP (1113) TransformationProof [EQUIVALENT, 0 ms] (1114) QDP (1115) DependencyGraphProof [EQUIVALENT, 0 ms] (1116) QDP (1117) TransformationProof [EQUIVALENT, 0 ms] (1118) QDP (1119) TransformationProof [EQUIVALENT, 0 ms] (1120) QDP (1121) TransformationProof [EQUIVALENT, 0 ms] (1122) QDP (1123) TransformationProof [EQUIVALENT, 0 ms] (1124) QDP (1125) TransformationProof [EQUIVALENT, 0 ms] (1126) QDP (1127) TransformationProof [EQUIVALENT, 0 ms] (1128) QDP (1129) DependencyGraphProof [EQUIVALENT, 0 ms] (1130) QDP (1131) TransformationProof [EQUIVALENT, 0 ms] (1132) QDP (1133) DependencyGraphProof [EQUIVALENT, 0 ms] (1134) QDP (1135) TransformationProof [EQUIVALENT, 0 ms] (1136) QDP (1137) DependencyGraphProof [EQUIVALENT, 0 ms] (1138) AND (1139) QDP (1140) UsableRulesProof [EQUIVALENT, 0 ms] (1141) QDP (1142) TransformationProof [EQUIVALENT, 0 ms] (1143) QDP (1144) TransformationProof [EQUIVALENT, 0 ms] (1145) QDP (1146) TransformationProof [EQUIVALENT, 0 ms] (1147) QDP (1148) TransformationProof [EQUIVALENT, 0 ms] (1149) QDP (1150) DependencyGraphProof [EQUIVALENT, 0 ms] (1151) QDP (1152) TransformationProof [EQUIVALENT, 0 ms] (1153) QDP (1154) DependencyGraphProof [EQUIVALENT, 0 ms] (1155) QDP (1156) InductionCalculusProof [EQUIVALENT, 0 ms] (1157) QDP (1158) QDP (1159) UsableRulesProof [EQUIVALENT, 0 ms] (1160) QDP (1161) TransformationProof [EQUIVALENT, 0 ms] (1162) QDP (1163) UsableRulesProof [EQUIVALENT, 0 ms] (1164) QDP (1165) TransformationProof [EQUIVALENT, 0 ms] (1166) QDP (1167) UsableRulesProof [EQUIVALENT, 0 ms] (1168) QDP (1169) InductionCalculusProof [EQUIVALENT, 0 ms] (1170) QDP (1171) QDP (1172) TransformationProof [EQUIVALENT, 0 ms] (1173) QDP (1174) TransformationProof [EQUIVALENT, 0 ms] (1175) QDP (1176) TransformationProof [EQUIVALENT, 0 ms] (1177) QDP (1178) TransformationProof [EQUIVALENT, 0 ms] (1179) QDP (1180) TransformationProof [EQUIVALENT, 0 ms] (1181) QDP (1182) TransformationProof [EQUIVALENT, 0 ms] (1183) QDP (1184) TransformationProof [EQUIVALENT, 0 ms] (1185) QDP (1186) TransformationProof [EQUIVALENT, 0 ms] (1187) QDP (1188) TransformationProof [EQUIVALENT, 0 ms] (1189) QDP (1190) TransformationProof [EQUIVALENT, 0 ms] (1191) QDP (1192) TransformationProof [EQUIVALENT, 0 ms] (1193) QDP (1194) TransformationProof [EQUIVALENT, 0 ms] (1195) QDP (1196) DependencyGraphProof [EQUIVALENT, 0 ms] (1197) QDP (1198) TransformationProof [EQUIVALENT, 0 ms] (1199) QDP (1200) DependencyGraphProof [EQUIVALENT, 0 ms] (1201) QDP (1202) TransformationProof [EQUIVALENT, 0 ms] (1203) QDP (1204) TransformationProof [EQUIVALENT, 0 ms] (1205) QDP (1206) TransformationProof [EQUIVALENT, 0 ms] (1207) QDP (1208) TransformationProof [EQUIVALENT, 0 ms] (1209) QDP (1210) TransformationProof [EQUIVALENT, 0 ms] (1211) QDP (1212) TransformationProof [EQUIVALENT, 0 ms] (1213) QDP (1214) TransformationProof [EQUIVALENT, 0 ms] (1215) QDP (1216) DependencyGraphProof [EQUIVALENT, 0 ms] (1217) AND (1218) QDP (1219) UsableRulesProof [EQUIVALENT, 0 ms] (1220) QDP (1221) TransformationProof [EQUIVALENT, 0 ms] (1222) QDP (1223) TransformationProof [EQUIVALENT, 0 ms] (1224) QDP (1225) TransformationProof [EQUIVALENT, 0 ms] (1226) QDP (1227) TransformationProof [EQUIVALENT, 0 ms] (1228) QDP (1229) InductionCalculusProof [EQUIVALENT, 0 ms] (1230) QDP (1231) QDP (1232) UsableRulesProof [EQUIVALENT, 0 ms] (1233) QDP (1234) InductionCalculusProof [EQUIVALENT, 0 ms] (1235) QDP (1236) QDP (1237) InductionCalculusProof [EQUIVALENT, 0 ms] (1238) QDP (1239) QDP (1240) QDPSizeChangeProof [EQUIVALENT, 0 ms] (1241) YES (1242) QDP (1243) QDPSizeChangeProof [EQUIVALENT, 0 ms] (1244) YES (1245) QDP (1246) QDPSizeChangeProof [EQUIVALENT, 0 ms] (1247) YES (1248) QDP (1249) MNOCProof [EQUIVALENT, 0 ms] (1250) QDP (1251) InductionCalculusProof [EQUIVALENT, 0 ms] (1252) QDP (1253) TransformationProof [EQUIVALENT, 0 ms] (1254) QDP (1255) TransformationProof [EQUIVALENT, 0 ms] (1256) QDP (1257) UsableRulesProof [EQUIVALENT, 0 ms] (1258) QDP (1259) QReductionProof [EQUIVALENT, 1 ms] (1260) QDP (1261) TransformationProof [EQUIVALENT, 0 ms] (1262) QDP (1263) UsableRulesProof [EQUIVALENT, 0 ms] (1264) QDP (1265) QReductionProof [EQUIVALENT, 0 ms] (1266) QDP (1267) TransformationProof [EQUIVALENT, 0 ms] (1268) QDP (1269) TransformationProof [EQUIVALENT, 0 ms] (1270) QDP (1271) DependencyGraphProof [EQUIVALENT, 0 ms] (1272) QDP (1273) TransformationProof [EQUIVALENT, 0 ms] (1274) QDP (1275) DependencyGraphProof [EQUIVALENT, 0 ms] (1276) QDP (1277) TransformationProof [EQUIVALENT, 0 ms] (1278) QDP (1279) DependencyGraphProof [EQUIVALENT, 0 ms] (1280) QDP (1281) TransformationProof [EQUIVALENT, 0 ms] (1282) QDP (1283) DependencyGraphProof [EQUIVALENT, 0 ms] (1284) QDP (1285) TransformationProof [EQUIVALENT, 0 ms] (1286) QDP (1287) DependencyGraphProof [EQUIVALENT, 0 ms] (1288) AND (1289) QDP (1290) UsableRulesProof [EQUIVALENT, 0 ms] (1291) QDP (1292) QReductionProof [EQUIVALENT, 0 ms] (1293) QDP (1294) TransformationProof [EQUIVALENT, 0 ms] (1295) QDP (1296) DependencyGraphProof [EQUIVALENT, 0 ms] (1297) QDP (1298) TransformationProof [EQUIVALENT, 0 ms] (1299) QDP (1300) DependencyGraphProof [EQUIVALENT, 0 ms] (1301) QDP (1302) TransformationProof [EQUIVALENT, 0 ms] (1303) QDP (1304) TransformationProof [EQUIVALENT, 0 ms] (1305) QDP (1306) DependencyGraphProof [EQUIVALENT, 0 ms] (1307) AND (1308) QDP (1309) UsableRulesProof [EQUIVALENT, 0 ms] (1310) QDP (1311) QReductionProof [EQUIVALENT, 0 ms] (1312) QDP (1313) TransformationProof [EQUIVALENT, 0 ms] (1314) QDP (1315) TransformationProof [EQUIVALENT, 0 ms] (1316) QDP (1317) TransformationProof [EQUIVALENT, 0 ms] (1318) QDP (1319) TransformationProof [EQUIVALENT, 0 ms] (1320) QDP (1321) TransformationProof [EQUIVALENT, 0 ms] (1322) QDP (1323) DependencyGraphProof [EQUIVALENT, 0 ms] (1324) QDP (1325) TransformationProof [EQUIVALENT, 0 ms] (1326) QDP (1327) DependencyGraphProof [EQUIVALENT, 0 ms] (1328) QDP (1329) TransformationProof [EQUIVALENT, 0 ms] (1330) QDP (1331) QDPSizeChangeProof [EQUIVALENT, 0 ms] (1332) YES (1333) QDP (1334) UsableRulesProof [EQUIVALENT, 0 ms] (1335) QDP (1336) QReductionProof [EQUIVALENT, 0 ms] (1337) QDP (1338) TransformationProof [EQUIVALENT, 0 ms] (1339) QDP (1340) TransformationProof [EQUIVALENT, 0 ms] (1341) QDP (1342) TransformationProof [EQUIVALENT, 0 ms] (1343) QDP (1344) TransformationProof [EQUIVALENT, 0 ms] (1345) QDP (1346) TransformationProof [EQUIVALENT, 0 ms] (1347) QDP (1348) TransformationProof [EQUIVALENT, 0 ms] (1349) QDP (1350) TransformationProof [EQUIVALENT, 0 ms] (1351) QDP (1352) TransformationProof [EQUIVALENT, 0 ms] (1353) QDP (1354) TransformationProof [EQUIVALENT, 0 ms] (1355) QDP (1356) DependencyGraphProof [EQUIVALENT, 0 ms] (1357) QDP (1358) TransformationProof [EQUIVALENT, 0 ms] (1359) QDP (1360) DependencyGraphProof [EQUIVALENT, 0 ms] (1361) AND (1362) QDP (1363) TransformationProof [EQUIVALENT, 0 ms] (1364) QDP (1365) TransformationProof [EQUIVALENT, 0 ms] (1366) QDP (1367) TransformationProof [EQUIVALENT, 0 ms] (1368) QDP (1369) QDPOrderProof [EQUIVALENT, 1293 ms] (1370) QDP (1371) DependencyGraphProof [EQUIVALENT, 0 ms] (1372) TRUE (1373) QDP (1374) QReductionProof [EQUIVALENT, 0 ms] (1375) QDP (1376) InductionCalculusProof [EQUIVALENT, 0 ms] (1377) QDP (1378) QDP (1379) UsableRulesProof [EQUIVALENT, 0 ms] (1380) QDP (1381) QReductionProof [EQUIVALENT, 0 ms] (1382) QDP (1383) TransformationProof [EQUIVALENT, 0 ms] (1384) QDP (1385) DependencyGraphProof [EQUIVALENT, 0 ms] (1386) QDP (1387) TransformationProof [EQUIVALENT, 0 ms] (1388) QDP (1389) DependencyGraphProof [EQUIVALENT, 0 ms] (1390) QDP (1391) TransformationProof [EQUIVALENT, 0 ms] (1392) QDP (1393) TransformationProof [EQUIVALENT, 0 ms] (1394) QDP (1395) DependencyGraphProof [EQUIVALENT, 0 ms] (1396) AND (1397) QDP (1398) UsableRulesProof [EQUIVALENT, 0 ms] (1399) QDP (1400) QReductionProof [EQUIVALENT, 0 ms] (1401) QDP (1402) TransformationProof [EQUIVALENT, 0 ms] (1403) QDP (1404) TransformationProof [EQUIVALENT, 0 ms] (1405) QDP (1406) TransformationProof [EQUIVALENT, 0 ms] (1407) QDP (1408) TransformationProof [EQUIVALENT, 0 ms] (1409) QDP (1410) TransformationProof [EQUIVALENT, 0 ms] (1411) QDP (1412) DependencyGraphProof [EQUIVALENT, 0 ms] (1413) QDP (1414) TransformationProof [EQUIVALENT, 0 ms] (1415) QDP (1416) DependencyGraphProof [EQUIVALENT, 0 ms] (1417) QDP (1418) TransformationProof [EQUIVALENT, 0 ms] (1419) QDP (1420) QDPSizeChangeProof [EQUIVALENT, 17 ms] (1421) YES (1422) QDP (1423) UsableRulesProof [EQUIVALENT, 0 ms] (1424) QDP (1425) QReductionProof [EQUIVALENT, 0 ms] (1426) QDP (1427) TransformationProof [EQUIVALENT, 0 ms] (1428) QDP (1429) TransformationProof [EQUIVALENT, 0 ms] (1430) QDP (1431) TransformationProof [EQUIVALENT, 0 ms] (1432) QDP (1433) TransformationProof [EQUIVALENT, 0 ms] (1434) QDP (1435) TransformationProof [EQUIVALENT, 0 ms] (1436) QDP (1437) TransformationProof [EQUIVALENT, 0 ms] (1438) QDP (1439) TransformationProof [EQUIVALENT, 0 ms] (1440) QDP (1441) TransformationProof [EQUIVALENT, 0 ms] (1442) QDP (1443) TransformationProof [EQUIVALENT, 0 ms] (1444) QDP (1445) DependencyGraphProof [EQUIVALENT, 0 ms] (1446) QDP (1447) TransformationProof [EQUIVALENT, 1 ms] (1448) QDP (1449) DependencyGraphProof [EQUIVALENT, 0 ms] (1450) AND (1451) QDP (1452) TransformationProof [EQUIVALENT, 0 ms] (1453) QDP (1454) TransformationProof [EQUIVALENT, 0 ms] (1455) QDP (1456) TransformationProof [EQUIVALENT, 0 ms] (1457) QDP (1458) QReductionProof [EQUIVALENT, 0 ms] (1459) QDP (1460) InductionCalculusProof [EQUIVALENT, 0 ms] (1461) QDP (1462) QDP (1463) QReductionProof [EQUIVALENT, 0 ms] (1464) QDP (1465) InductionCalculusProof [EQUIVALENT, 0 ms] (1466) QDP (1467) QDP (1468) UsableRulesProof [EQUIVALENT, 0 ms] (1469) QDP (1470) QReductionProof [EQUIVALENT, 0 ms] (1471) QDP (1472) TransformationProof [EQUIVALENT, 0 ms] (1473) QDP (1474) DependencyGraphProof [EQUIVALENT, 0 ms] (1475) QDP (1476) TransformationProof [EQUIVALENT, 0 ms] (1477) QDP (1478) DependencyGraphProof [EQUIVALENT, 0 ms] (1479) QDP (1480) TransformationProof [EQUIVALENT, 0 ms] (1481) QDP (1482) TransformationProof [EQUIVALENT, 0 ms] (1483) QDP (1484) DependencyGraphProof [EQUIVALENT, 0 ms] (1485) QDP (1486) TransformationProof [EQUIVALENT, 0 ms] (1487) QDP (1488) TransformationProof [EQUIVALENT, 0 ms] (1489) QDP (1490) TransformationProof [EQUIVALENT, 0 ms] (1491) QDP (1492) DependencyGraphProof [EQUIVALENT, 0 ms] (1493) QDP (1494) TransformationProof [EQUIVALENT, 0 ms] (1495) QDP (1496) TransformationProof [EQUIVALENT, 0 ms] (1497) QDP (1498) TransformationProof [EQUIVALENT, 0 ms] (1499) QDP (1500) TransformationProof [EQUIVALENT, 0 ms] (1501) QDP (1502) DependencyGraphProof [EQUIVALENT, 0 ms] (1503) QDP (1504) TransformationProof [EQUIVALENT, 0 ms] (1505) QDP (1506) TransformationProof [EQUIVALENT, 0 ms] (1507) QDP (1508) TransformationProof [EQUIVALENT, 0 ms] (1509) QDP (1510) TransformationProof [EQUIVALENT, 0 ms] (1511) QDP (1512) TransformationProof [EQUIVALENT, 0 ms] (1513) QDP (1514) TransformationProof [EQUIVALENT, 0 ms] (1515) QDP (1516) TransformationProof [EQUIVALENT, 0 ms] (1517) QDP (1518) DependencyGraphProof [EQUIVALENT, 0 ms] (1519) QDP (1520) TransformationProof [EQUIVALENT, 0 ms] (1521) QDP (1522) DependencyGraphProof [EQUIVALENT, 0 ms] (1523) AND (1524) QDP (1525) UsableRulesProof [EQUIVALENT, 0 ms] (1526) QDP (1527) QReductionProof [EQUIVALENT, 0 ms] (1528) QDP (1529) TransformationProof [EQUIVALENT, 0 ms] (1530) QDP (1531) TransformationProof [EQUIVALENT, 0 ms] (1532) QDP (1533) TransformationProof [EQUIVALENT, 0 ms] (1534) QDP (1535) DependencyGraphProof [EQUIVALENT, 0 ms] (1536) QDP (1537) TransformationProof [EQUIVALENT, 0 ms] (1538) QDP (1539) DependencyGraphProof [EQUIVALENT, 0 ms] (1540) QDP (1541) TransformationProof [EQUIVALENT, 0 ms] (1542) QDP (1543) QDPSizeChangeProof [EQUIVALENT, 0 ms] (1544) YES (1545) QDP (1546) UsableRulesProof [EQUIVALENT, 0 ms] (1547) QDP (1548) QReductionProof [EQUIVALENT, 0 ms] (1549) QDP (1550) TransformationProof [EQUIVALENT, 0 ms] (1551) QDP (1552) TransformationProof [EQUIVALENT, 0 ms] (1553) QDP (1554) TransformationProof [EQUIVALENT, 0 ms] (1555) QDP (1556) TransformationProof [EQUIVALENT, 0 ms] (1557) QDP (1558) TransformationProof [EQUIVALENT, 0 ms] (1559) QDP (1560) DependencyGraphProof [EQUIVALENT, 0 ms] (1561) QDP (1562) TransformationProof [EQUIVALENT, 0 ms] (1563) QDP (1564) DependencyGraphProof [EQUIVALENT, 0 ms] (1565) QDP (1566) TransformationProof [EQUIVALENT, 0 ms] (1567) QDP (1568) QDPSizeChangeProof [EQUIVALENT, 0 ms] (1569) YES (1570) QDP (1571) UsableRulesProof [EQUIVALENT, 0 ms] (1572) QDP (1573) QReductionProof [EQUIVALENT, 0 ms] (1574) QDP (1575) TransformationProof [EQUIVALENT, 0 ms] (1576) QDP (1577) TransformationProof [EQUIVALENT, 0 ms] (1578) QDP (1579) TransformationProof [EQUIVALENT, 0 ms] (1580) QDP (1581) TransformationProof [EQUIVALENT, 0 ms] (1582) QDP (1583) TransformationProof [EQUIVALENT, 0 ms] (1584) QDP (1585) TransformationProof [EQUIVALENT, 0 ms] (1586) QDP (1587) TransformationProof [EQUIVALENT, 0 ms] (1588) QDP (1589) TransformationProof [EQUIVALENT, 0 ms] (1590) QDP (1591) TransformationProof [EQUIVALENT, 0 ms] (1592) QDP (1593) DependencyGraphProof [EQUIVALENT, 0 ms] (1594) QDP (1595) TransformationProof [EQUIVALENT, 0 ms] (1596) QDP (1597) DependencyGraphProof [EQUIVALENT, 0 ms] (1598) QDP (1599) TransformationProof [EQUIVALENT, 0 ms] (1600) QDP (1601) TransformationProof [EQUIVALENT, 0 ms] (1602) QDP (1603) TransformationProof [EQUIVALENT, 0 ms] (1604) QDP (1605) TransformationProof [EQUIVALENT, 0 ms] (1606) QDP (1607) DependencyGraphProof [EQUIVALENT, 0 ms] (1608) AND (1609) QDP (1610) UsableRulesProof [EQUIVALENT, 0 ms] (1611) QDP (1612) TransformationProof [EQUIVALENT, 0 ms] (1613) QDP (1614) TransformationProof [EQUIVALENT, 0 ms] (1615) QDP (1616) TransformationProof [EQUIVALENT, 0 ms] (1617) QDP (1618) InductionCalculusProof [EQUIVALENT, 0 ms] (1619) QDP (1620) QDP (1621) UsableRulesProof [EQUIVALENT, 0 ms] (1622) QDP (1623) TransformationProof [EQUIVALENT, 0 ms] (1624) QDP (1625) UsableRulesProof [EQUIVALENT, 0 ms] (1626) QDP (1627) InductionCalculusProof [EQUIVALENT, 0 ms] (1628) QDP (1629) QDP (1630) InductionCalculusProof [EQUIVALENT, 0 ms] (1631) QDP (1632) Narrow [COMPLETE, 0 ms] (1633) TRUE ---------------------------------------- (0) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (1) IFR (EQUIVALENT) If Reductions: The following If expression "if primGEqNatS x y then Succ (primDivNatS (primMinusNatS x y) (Succ y)) else Zero" is transformed to "primDivNatS0 x y True = Succ (primDivNatS (primMinusNatS x y) (Succ y)); primDivNatS0 x y False = Zero; " The following If expression "if primGEqNatS x y then primModNatS (primMinusNatS x y) (Succ y) else Succ x" is transformed to "primModNatS0 x y True = primModNatS (primMinusNatS x y) (Succ y); primModNatS0 x y False = Succ x; " ---------------------------------------- (2) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (3) BR (EQUIVALENT) Replaced joker patterns by fresh variables and removed binding patterns. ---------------------------------------- (4) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (5) COR (EQUIVALENT) Cond Reductions: The following Function with conditions "absReal x|x >= 0x|otherwise`negate` x; " is transformed to "absReal x = absReal2 x; " "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 vy 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 vy vvu y = f4 vy 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 vy vvu y = y; f3 vvv vvw vvx vvy = f0 vvw vvx vvy; " "f4 vy vvu y = f3 (vvu == 0) vy 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 vy 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); } ; } ; ^ vz wu = error []; " is transformed to "^ x vwy = pr4 x vwy; ^ x n = pr2 x n; ^ vz wu = pr0 vz wu; " "pr0 vz wu = error []; " "pr2 x n = pr1 x n (n > 0) where { f vy vvu y = f4 vy 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 vy vvu y = y; f3 vvv vvw vvx vvy = f0 vvw vvx vvy; ; f4 vy vvu y = f3 (vvu == 0) vy 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'0 x y = gcd0Gcd' y (x `rem` y); " "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; " 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 vy vvu y = f4 vy 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 vy vvu y = y; f3 vvv vvw vvx vvy = f0 vvw vvx vvy; ; f4 vy vvu y = f3 (vvu == 0) vy 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 "pr2F vy vvu y = pr2F4 vy vvu y; pr2F x n y = pr2F0 x n y; " "pr2F3 True vy vvu y = y; pr2F3 vvv vvw vvx vvy = pr2F0 vvw vvx vvy; " "pr2F4 vy vvu y = pr2F3 (vvu == 0) vy vvu y; pr2F4 vvz vwu vwv = pr2F0 vvz vwu vwv; " "pr2Pr1 x n True = pr2F x (n - 1) x; pr2Pr1 x n False = pr0 x n; " "pr2F0 x n y = pr2F0G y 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 "pr2F0G vyu x n = pr2F0G2 vyu x n; " "pr2F0G2 vyu x n = pr2F0G1 vyu x n (even n); " "pr2F0G0 vyu x n True = pr2F x (n - 1) (x * vyu); " "pr2F0G1 vyu x n True = pr2F0G vyu (x * x) (n `quot` 2); pr2F0G1 vyu x n False = pr2F0G0 vyu x n otherwise; " ---------------------------------------- (8) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (9) NumRed (SOUND) Num Reduction:All numbers are transformed to their corresponding representation with Succ, Pred and Zero. ---------------------------------------- (10) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (11) Narrow (SOUND) Haskell To QDPs digraph dp_graph { node [outthreshold=100, inthreshold=100];1[label="(^)",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="(^) 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"];7306[label="vyv4/Pos vyv40",fontsize=10,color="white",style="solid",shape="box"];7 -> 7306[label="",style="solid", color="burlywood", weight=9]; 7306 -> 8[label="",style="solid", color="burlywood", weight=3]; 7307[label="vyv4/Neg vyv40",fontsize=10,color="white",style="solid",shape="box"];7 -> 7307[label="",style="solid", color="burlywood", weight=9]; 7307 -> 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"];7308[label="vyv40/Succ vyv400",fontsize=10,color="white",style="solid",shape="box"];8 -> 7308[label="",style="solid", color="burlywood", weight=9]; 7308 -> 10[label="",style="solid", color="burlywood", weight=3]; 7309[label="vyv40/Zero",fontsize=10,color="white",style="solid",shape="box"];8 -> 7309[label="",style="solid", color="burlywood", weight=9]; 7309 -> 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"];7310[label="vyv40/Succ vyv400",fontsize=10,color="white",style="solid",shape="box"];9 -> 7310[label="",style="solid", color="burlywood", weight=9]; 7310 -> 12[label="",style="solid", color="burlywood", weight=3]; 7311[label="vyv40/Zero",fontsize=10,color="white",style="solid",shape="box"];9 -> 7311[label="",style="solid", color="burlywood", weight=9]; 7311 -> 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="blue",shape="box"];7312[label="fromInt :: -> Int Float",fontsize=10,color="white",style="solid",shape="box"];23 -> 7312[label="",style="solid", color="blue", weight=9]; 7312 -> 27[label="",style="solid", color="blue", weight=3]; 7313[label="fromInt :: -> Int Double",fontsize=10,color="white",style="solid",shape="box"];23 -> 7313[label="",style="solid", color="blue", weight=9]; 7313 -> 28[label="",style="solid", color="blue", weight=3]; 7314[label="fromInt :: -> Int Int",fontsize=10,color="white",style="solid",shape="box"];23 -> 7314[label="",style="solid", color="blue", weight=9]; 7314 -> 29[label="",style="solid", color="blue", weight=3]; 7315[label="fromInt :: -> Int Integer",fontsize=10,color="white",style="solid",shape="box"];23 -> 7315[label="",style="solid", color="blue", weight=9]; 7315 -> 30[label="",style="solid", color="blue", weight=3]; 7316[label="fromInt :: -> Int (Ratio a)",fontsize=10,color="white",style="solid",shape="box"];23 -> 7316[label="",style="solid", color="blue", weight=9]; 7316 -> 31[label="",style="solid", color="blue", weight=3]; 24[label="pr2 vyv3 (Neg (Succ vyv400))",fontsize=16,color="black",shape="box"];24 -> 32[label="",style="solid", color="black", weight=3]; 25[label="fromInt (Pos (Succ Zero))",fontsize=16,color="blue",shape="box"];7317[label="fromInt :: -> Int Float",fontsize=10,color="white",style="solid",shape="box"];25 -> 7317[label="",style="solid", color="blue", weight=9]; 7317 -> 33[label="",style="solid", color="blue", weight=3]; 7318[label="fromInt :: -> Int Double",fontsize=10,color="white",style="solid",shape="box"];25 -> 7318[label="",style="solid", color="blue", weight=9]; 7318 -> 34[label="",style="solid", color="blue", weight=3]; 7319[label="fromInt :: -> Int Int",fontsize=10,color="white",style="solid",shape="box"];25 -> 7319[label="",style="solid", color="blue", weight=9]; 7319 -> 35[label="",style="solid", color="blue", weight=3]; 7320[label="fromInt :: -> Int Integer",fontsize=10,color="white",style="solid",shape="box"];25 -> 7320[label="",style="solid", color="blue", weight=9]; 7320 -> 36[label="",style="solid", color="blue", weight=3]; 7321[label="fromInt :: -> Int (Ratio a)",fontsize=10,color="white",style="solid",shape="box"];25 -> 7321[label="",style="solid", color="blue", weight=9]; 7321 -> 37[label="",style="solid", color="blue", weight=3]; 26[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (Pos (Succ vyv400) > fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];26 -> 38[label="",style="solid", color="black", weight=3]; 27[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];27 -> 39[label="",style="solid", color="black", weight=3]; 28[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];28 -> 40[label="",style="solid", color="black", weight=3]; 29[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];29 -> 41[label="",style="solid", color="black", weight=3]; 30[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];30 -> 42[label="",style="solid", color="black", weight=3]; 31[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];31 -> 43[label="",style="solid", color="black", weight=3]; 32[label="pr2Pr1 vyv3 (Neg (Succ vyv400)) (Neg (Succ vyv400) > fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];32 -> 44[label="",style="solid", color="black", weight=3]; 33 -> 27[label="",style="dashed", color="red", weight=0]; 33[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];34 -> 28[label="",style="dashed", color="red", weight=0]; 34[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];35 -> 29[label="",style="dashed", color="red", weight=0]; 35[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];36 -> 30[label="",style="dashed", color="red", weight=0]; 36[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];37 -> 31[label="",style="dashed", color="red", weight=0]; 37[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];38[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (compare (Pos (Succ vyv400)) (fromInt (Pos Zero)) == GT)",fontsize=16,color="black",shape="box"];38 -> 45[label="",style="solid", color="black", weight=3]; 39[label="primIntToFloat (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];39 -> 46[label="",style="solid", color="black", weight=3]; 40[label="primIntToDouble (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];40 -> 47[label="",style="solid", color="black", weight=3]; 41[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];42[label="Integer (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];43[label="intToRatio (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];43 -> 48[label="",style="solid", color="black", weight=3]; 44[label="pr2Pr1 vyv3 (Neg (Succ vyv400)) (compare (Neg (Succ vyv400)) (fromInt (Pos Zero)) == GT)",fontsize=16,color="black",shape="box"];44 -> 49[label="",style="solid", color="black", weight=3]; 45[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (primCmpInt (Pos (Succ vyv400)) (fromInt (Pos Zero)) == GT)",fontsize=16,color="black",shape="box"];45 -> 50[label="",style="solid", color="black", weight=3]; 46[label="Float (Pos (Succ Zero)) (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];47[label="Double (Pos (Succ Zero)) (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];48[label="fromInt (Pos (Succ Zero)) :% fromInt (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];48 -> 51[label="",style="dashed", color="green", weight=3]; 48 -> 52[label="",style="dashed", color="green", weight=3]; 49[label="pr2Pr1 vyv3 (Neg (Succ vyv400)) (primCmpInt (Neg (Succ vyv400)) (fromInt (Pos Zero)) == GT)",fontsize=16,color="black",shape="box"];49 -> 53[label="",style="solid", color="black", weight=3]; 50[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (primCmpInt (Pos (Succ vyv400)) (Pos Zero) == GT)",fontsize=16,color="black",shape="box"];50 -> 54[label="",style="solid", color="black", weight=3]; 51[label="fromInt (Pos (Succ Zero))",fontsize=16,color="blue",shape="box"];7322[label="fromInt :: Int -> Int",fontsize=10,color="white",style="solid",shape="box"];51 -> 7322[label="",style="solid", color="blue", weight=9]; 7322 -> 55[label="",style="solid", color="blue", weight=3]; 7323[label="fromInt :: Int -> Integer",fontsize=10,color="white",style="solid",shape="box"];51 -> 7323[label="",style="solid", color="blue", weight=9]; 7323 -> 56[label="",style="solid", color="blue", weight=3]; 52[label="fromInt (Pos (Succ Zero))",fontsize=16,color="blue",shape="box"];7324[label="fromInt :: -> Int Int",fontsize=10,color="white",style="solid",shape="box"];52 -> 7324[label="",style="solid", color="blue", weight=9]; 7324 -> 57[label="",style="solid", color="blue", weight=3]; 7325[label="fromInt :: -> Int Integer",fontsize=10,color="white",style="solid",shape="box"];52 -> 7325[label="",style="solid", color="blue", weight=9]; 7325 -> 58[label="",style="solid", color="blue", weight=3]; 53[label="pr2Pr1 vyv3 (Neg (Succ vyv400)) (primCmpInt (Neg (Succ vyv400)) (Pos Zero) == GT)",fontsize=16,color="black",shape="box"];53 -> 59[label="",style="solid", color="black", weight=3]; 54[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (primCmpNat (Succ vyv400) Zero == GT)",fontsize=16,color="black",shape="box"];54 -> 60[label="",style="solid", color="black", weight=3]; 55 -> 29[label="",style="dashed", color="red", weight=0]; 55[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];56 -> 30[label="",style="dashed", color="red", weight=0]; 56[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];57 -> 29[label="",style="dashed", color="red", weight=0]; 57[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];58 -> 30[label="",style="dashed", color="red", weight=0]; 58[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];59[label="pr2Pr1 vyv3 (Neg (Succ vyv400)) (LT == GT)",fontsize=16,color="black",shape="box"];59 -> 61[label="",style="solid", color="black", weight=3]; 60[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (GT == GT)",fontsize=16,color="black",shape="box"];60 -> 62[label="",style="solid", color="black", weight=3]; 61[label="pr2Pr1 vyv3 (Neg (Succ vyv400)) False",fontsize=16,color="black",shape="box"];61 -> 63[label="",style="solid", color="black", weight=3]; 62[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) True",fontsize=16,color="black",shape="box"];62 -> 64[label="",style="solid", color="black", weight=3]; 63[label="pr0 vyv3 (Neg (Succ vyv400))",fontsize=16,color="black",shape="box"];63 -> 65[label="",style="solid", color="black", weight=3]; 64 -> 66[label="",style="dashed", color="red", weight=0]; 64[label="pr2F vyv3 (Pos (Succ vyv400) - fromInt (Pos (Succ Zero))) vyv3",fontsize=16,color="magenta"];64 -> 67[label="",style="dashed", color="magenta", weight=3]; 65[label="error []",fontsize=16,color="black",shape="triangle"];65 -> 68[label="",style="solid", color="black", weight=3]; 67 -> 29[label="",style="dashed", color="red", weight=0]; 67[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];66[label="pr2F vyv3 (Pos (Succ vyv400) - vyv5) vyv3",fontsize=16,color="black",shape="triangle"];66 -> 69[label="",style="solid", color="black", weight=3]; 68[label="error []",fontsize=16,color="red",shape="box"];69[label="pr2F4 vyv3 (Pos (Succ vyv400) - vyv5) vyv3",fontsize=16,color="black",shape="box"];69 -> 70[label="",style="solid", color="black", weight=3]; 70[label="pr2F3 (Pos (Succ vyv400) - vyv5 == fromInt (Pos Zero)) vyv3 (Pos (Succ vyv400) - vyv5) vyv3",fontsize=16,color="black",shape="box"];70 -> 71[label="",style="solid", color="black", weight=3]; 71[label="pr2F3 (primEqInt (Pos (Succ vyv400) - vyv5) (fromInt (Pos Zero))) vyv3 (Pos (Succ vyv400) - vyv5) vyv3",fontsize=16,color="black",shape="box"];71 -> 72[label="",style="solid", color="black", weight=3]; 72[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vyv400)) vyv5) (fromInt (Pos Zero))) vyv3 (primMinusInt (Pos (Succ vyv400)) vyv5) vyv3",fontsize=16,color="burlywood",shape="box"];7326[label="vyv5/Pos vyv50",fontsize=10,color="white",style="solid",shape="box"];72 -> 7326[label="",style="solid", color="burlywood", weight=9]; 7326 -> 73[label="",style="solid", color="burlywood", weight=3]; 7327[label="vyv5/Neg vyv50",fontsize=10,color="white",style="solid",shape="box"];72 -> 7327[label="",style="solid", color="burlywood", weight=9]; 7327 -> 74[label="",style="solid", color="burlywood", weight=3]; 73[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"];73 -> 75[label="",style="solid", color="black", weight=3]; 74[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"];74 -> 76[label="",style="solid", color="black", weight=3]; 75[label="pr2F3 (primEqInt (primMinusNat (Succ vyv400) vyv50) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv400) vyv50) vyv3",fontsize=16,color="burlywood",shape="box"];7328[label="vyv50/Succ vyv500",fontsize=10,color="white",style="solid",shape="box"];75 -> 7328[label="",style="solid", color="burlywood", weight=9]; 7328 -> 77[label="",style="solid", color="burlywood", weight=3]; 7329[label="vyv50/Zero",fontsize=10,color="white",style="solid",shape="box"];75 -> 7329[label="",style="solid", color="burlywood", weight=9]; 7329 -> 78[label="",style="solid", color="burlywood", weight=3]; 76[label="pr2F3 (primEqInt (Pos (primPlusNat (Succ vyv400) vyv50)) (fromInt (Pos Zero))) vyv3 (Pos (primPlusNat (Succ vyv400) vyv50)) vyv3",fontsize=16,color="burlywood",shape="box"];7330[label="vyv50/Succ vyv500",fontsize=10,color="white",style="solid",shape="box"];76 -> 7330[label="",style="solid", color="burlywood", weight=9]; 7330 -> 79[label="",style="solid", color="burlywood", weight=3]; 7331[label="vyv50/Zero",fontsize=10,color="white",style="solid",shape="box"];76 -> 7331[label="",style="solid", color="burlywood", weight=9]; 7331 -> 80[label="",style="solid", color="burlywood", weight=3]; 77[label="pr2F3 (primEqInt (primMinusNat (Succ vyv400) (Succ vyv500)) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv400) (Succ vyv500)) vyv3",fontsize=16,color="black",shape="box"];77 -> 81[label="",style="solid", color="black", weight=3]; 78[label="pr2F3 (primEqInt (primMinusNat (Succ vyv400) Zero) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv400) Zero) vyv3",fontsize=16,color="black",shape="box"];78 -> 82[label="",style="solid", color="black", weight=3]; 79[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"];79 -> 83[label="",style="solid", color="black", weight=3]; 80[label="pr2F3 (primEqInt (Pos (primPlusNat (Succ vyv400) Zero)) (fromInt (Pos Zero))) vyv3 (Pos (primPlusNat (Succ vyv400) Zero)) vyv3",fontsize=16,color="black",shape="box"];80 -> 84[label="",style="solid", color="black", weight=3]; 81[label="pr2F3 (primEqInt (primMinusNat vyv400 vyv500) (fromInt (Pos Zero))) vyv3 (primMinusNat vyv400 vyv500) vyv3",fontsize=16,color="burlywood",shape="triangle"];7332[label="vyv400/Succ vyv4000",fontsize=10,color="white",style="solid",shape="box"];81 -> 7332[label="",style="solid", color="burlywood", weight=9]; 7332 -> 85[label="",style="solid", color="burlywood", weight=3]; 7333[label="vyv400/Zero",fontsize=10,color="white",style="solid",shape="box"];81 -> 7333[label="",style="solid", color="burlywood", weight=9]; 7333 -> 86[label="",style="solid", color="burlywood", weight=3]; 82[label="pr2F3 (primEqInt (Pos (Succ vyv400)) (fromInt (Pos Zero))) vyv3 (Pos (Succ vyv400)) vyv3",fontsize=16,color="black",shape="triangle"];82 -> 87[label="",style="solid", color="black", weight=3]; 83 -> 82[label="",style="dashed", color="red", weight=0]; 83[label="pr2F3 (primEqInt (Pos (Succ (Succ (primPlusNat vyv400 vyv500)))) (fromInt (Pos Zero))) vyv3 (Pos (Succ (Succ (primPlusNat vyv400 vyv500)))) vyv3",fontsize=16,color="magenta"];83 -> 88[label="",style="dashed", color="magenta", weight=3]; 84 -> 82[label="",style="dashed", color="red", weight=0]; 84[label="pr2F3 (primEqInt (Pos (Succ vyv400)) (fromInt (Pos Zero))) vyv3 (Pos (Succ vyv400)) vyv3",fontsize=16,color="magenta"];85[label="pr2F3 (primEqInt (primMinusNat (Succ vyv4000) vyv500) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv4000) vyv500) vyv3",fontsize=16,color="burlywood",shape="box"];7334[label="vyv500/Succ vyv5000",fontsize=10,color="white",style="solid",shape="box"];85 -> 7334[label="",style="solid", color="burlywood", weight=9]; 7334 -> 89[label="",style="solid", color="burlywood", weight=3]; 7335[label="vyv500/Zero",fontsize=10,color="white",style="solid",shape="box"];85 -> 7335[label="",style="solid", color="burlywood", weight=9]; 7335 -> 90[label="",style="solid", color="burlywood", weight=3]; 86[label="pr2F3 (primEqInt (primMinusNat Zero vyv500) (fromInt (Pos Zero))) vyv3 (primMinusNat Zero vyv500) vyv3",fontsize=16,color="burlywood",shape="box"];7336[label="vyv500/Succ vyv5000",fontsize=10,color="white",style="solid",shape="box"];86 -> 7336[label="",style="solid", color="burlywood", weight=9]; 7336 -> 91[label="",style="solid", color="burlywood", weight=3]; 7337[label="vyv500/Zero",fontsize=10,color="white",style="solid",shape="box"];86 -> 7337[label="",style="solid", color="burlywood", weight=9]; 7337 -> 92[label="",style="solid", color="burlywood", weight=3]; 87[label="pr2F3 (primEqInt (Pos (Succ vyv400)) (Pos Zero)) vyv3 (Pos (Succ vyv400)) vyv3",fontsize=16,color="black",shape="box"];87 -> 93[label="",style="solid", color="black", weight=3]; 88[label="Succ (primPlusNat vyv400 vyv500)",fontsize=16,color="green",shape="box"];88 -> 94[label="",style="dashed", color="green", weight=3]; 89[label="pr2F3 (primEqInt (primMinusNat (Succ vyv4000) (Succ vyv5000)) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv4000) (Succ vyv5000)) vyv3",fontsize=16,color="black",shape="box"];89 -> 95[label="",style="solid", color="black", weight=3]; 90[label="pr2F3 (primEqInt (primMinusNat (Succ vyv4000) Zero) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv4000) Zero) vyv3",fontsize=16,color="black",shape="box"];90 -> 96[label="",style="solid", color="black", weight=3]; 91[label="pr2F3 (primEqInt (primMinusNat Zero (Succ vyv5000)) (fromInt (Pos Zero))) vyv3 (primMinusNat Zero (Succ vyv5000)) vyv3",fontsize=16,color="black",shape="box"];91 -> 97[label="",style="solid", color="black", weight=3]; 92[label="pr2F3 (primEqInt (primMinusNat Zero Zero) (fromInt (Pos Zero))) vyv3 (primMinusNat Zero Zero) vyv3",fontsize=16,color="black",shape="box"];92 -> 98[label="",style="solid", color="black", weight=3]; 93[label="pr2F3 False vyv3 (Pos (Succ vyv400)) vyv3",fontsize=16,color="black",shape="box"];93 -> 99[label="",style="solid", color="black", weight=3]; 94[label="primPlusNat vyv400 vyv500",fontsize=16,color="burlywood",shape="triangle"];7338[label="vyv400/Succ vyv4000",fontsize=10,color="white",style="solid",shape="box"];94 -> 7338[label="",style="solid", color="burlywood", weight=9]; 7338 -> 100[label="",style="solid", color="burlywood", weight=3]; 7339[label="vyv400/Zero",fontsize=10,color="white",style="solid",shape="box"];94 -> 7339[label="",style="solid", color="burlywood", weight=9]; 7339 -> 101[label="",style="solid", color="burlywood", weight=3]; 95 -> 81[label="",style="dashed", color="red", weight=0]; 95[label="pr2F3 (primEqInt (primMinusNat vyv4000 vyv5000) (fromInt (Pos Zero))) vyv3 (primMinusNat vyv4000 vyv5000) vyv3",fontsize=16,color="magenta"];95 -> 102[label="",style="dashed", color="magenta", weight=3]; 95 -> 103[label="",style="dashed", color="magenta", weight=3]; 96 -> 82[label="",style="dashed", color="red", weight=0]; 96[label="pr2F3 (primEqInt (Pos (Succ vyv4000)) (fromInt (Pos Zero))) vyv3 (Pos (Succ vyv4000)) vyv3",fontsize=16,color="magenta"];96 -> 104[label="",style="dashed", color="magenta", weight=3]; 97[label="pr2F3 (primEqInt (Neg (Succ vyv5000)) (fromInt (Pos Zero))) vyv3 (Neg (Succ vyv5000)) vyv3",fontsize=16,color="black",shape="box"];97 -> 105[label="",style="solid", color="black", weight=3]; 98[label="pr2F3 (primEqInt (Pos Zero) (fromInt (Pos Zero))) vyv3 (Pos Zero) vyv3",fontsize=16,color="black",shape="box"];98 -> 106[label="",style="solid", color="black", weight=3]; 99[label="pr2F0 vyv3 (Pos (Succ vyv400)) vyv3",fontsize=16,color="black",shape="box"];99 -> 107[label="",style="solid", color="black", weight=3]; 100[label="primPlusNat (Succ vyv4000) vyv500",fontsize=16,color="burlywood",shape="box"];7340[label="vyv500/Succ vyv5000",fontsize=10,color="white",style="solid",shape="box"];100 -> 7340[label="",style="solid", color="burlywood", weight=9]; 7340 -> 108[label="",style="solid", color="burlywood", weight=3]; 7341[label="vyv500/Zero",fontsize=10,color="white",style="solid",shape="box"];100 -> 7341[label="",style="solid", color="burlywood", weight=9]; 7341 -> 109[label="",style="solid", color="burlywood", weight=3]; 101[label="primPlusNat Zero vyv500",fontsize=16,color="burlywood",shape="box"];7342[label="vyv500/Succ vyv5000",fontsize=10,color="white",style="solid",shape="box"];101 -> 7342[label="",style="solid", color="burlywood", weight=9]; 7342 -> 110[label="",style="solid", color="burlywood", weight=3]; 7343[label="vyv500/Zero",fontsize=10,color="white",style="solid",shape="box"];101 -> 7343[label="",style="solid", color="burlywood", weight=9]; 7343 -> 111[label="",style="solid", color="burlywood", weight=3]; 102[label="vyv4000",fontsize=16,color="green",shape="box"];103[label="vyv5000",fontsize=16,color="green",shape="box"];104[label="vyv4000",fontsize=16,color="green",shape="box"];105[label="pr2F3 (primEqInt (Neg (Succ vyv5000)) (Pos Zero)) vyv3 (Neg (Succ vyv5000)) vyv3",fontsize=16,color="black",shape="box"];105 -> 112[label="",style="solid", color="black", weight=3]; 106[label="pr2F3 (primEqInt (Pos Zero) (Pos Zero)) vyv3 (Pos Zero) vyv3",fontsize=16,color="black",shape="box"];106 -> 113[label="",style="solid", color="black", weight=3]; 107[label="pr2F0G vyv3 vyv3 (Pos (Succ vyv400))",fontsize=16,color="black",shape="box"];107 -> 114[label="",style="solid", color="black", weight=3]; 108[label="primPlusNat (Succ vyv4000) (Succ vyv5000)",fontsize=16,color="black",shape="box"];108 -> 115[label="",style="solid", color="black", weight=3]; 109[label="primPlusNat (Succ vyv4000) Zero",fontsize=16,color="black",shape="box"];109 -> 116[label="",style="solid", color="black", weight=3]; 110[label="primPlusNat Zero (Succ vyv5000)",fontsize=16,color="black",shape="box"];110 -> 117[label="",style="solid", color="black", weight=3]; 111[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];111 -> 118[label="",style="solid", color="black", weight=3]; 112[label="pr2F3 False vyv3 (Neg (Succ vyv5000)) vyv3",fontsize=16,color="black",shape="box"];112 -> 119[label="",style="solid", color="black", weight=3]; 113[label="pr2F3 True vyv3 (Pos Zero) vyv3",fontsize=16,color="black",shape="box"];113 -> 120[label="",style="solid", color="black", weight=3]; 114[label="pr2F0G2 vyv3 vyv3 (Pos (Succ vyv400))",fontsize=16,color="black",shape="box"];114 -> 121[label="",style="solid", color="black", weight=3]; 115[label="Succ (Succ (primPlusNat vyv4000 vyv5000))",fontsize=16,color="green",shape="box"];115 -> 122[label="",style="dashed", color="green", weight=3]; 116[label="Succ vyv4000",fontsize=16,color="green",shape="box"];117[label="Succ vyv5000",fontsize=16,color="green",shape="box"];118[label="Zero",fontsize=16,color="green",shape="box"];119[label="pr2F0 vyv3 (Neg (Succ vyv5000)) vyv3",fontsize=16,color="black",shape="box"];119 -> 123[label="",style="solid", color="black", weight=3]; 120[label="vyv3",fontsize=16,color="green",shape="box"];121[label="pr2F0G1 vyv3 vyv3 (Pos (Succ vyv400)) (even (Pos (Succ vyv400)))",fontsize=16,color="black",shape="box"];121 -> 124[label="",style="solid", color="black", weight=3]; 122 -> 94[label="",style="dashed", color="red", weight=0]; 122[label="primPlusNat vyv4000 vyv5000",fontsize=16,color="magenta"];122 -> 125[label="",style="dashed", color="magenta", weight=3]; 122 -> 126[label="",style="dashed", color="magenta", weight=3]; 123[label="pr2F0G vyv3 vyv3 (Neg (Succ vyv5000))",fontsize=16,color="black",shape="box"];123 -> 127[label="",style="solid", color="black", weight=3]; 124[label="pr2F0G1 vyv3 vyv3 (Pos (Succ vyv400)) (primEvenInt (Pos (Succ vyv400)))",fontsize=16,color="black",shape="box"];124 -> 128[label="",style="solid", color="black", weight=3]; 125[label="vyv4000",fontsize=16,color="green",shape="box"];126[label="vyv5000",fontsize=16,color="green",shape="box"];127[label="pr2F0G2 vyv3 vyv3 (Neg (Succ vyv5000))",fontsize=16,color="black",shape="box"];127 -> 129[label="",style="solid", color="black", weight=3]; 128 -> 279[label="",style="dashed", color="red", weight=0]; 128[label="pr2F0G1 vyv3 vyv3 (Pos (Succ vyv400)) (primEvenNat (Succ vyv400))",fontsize=16,color="magenta"];128 -> 280[label="",style="dashed", color="magenta", weight=3]; 128 -> 281[label="",style="dashed", color="magenta", weight=3]; 128 -> 282[label="",style="dashed", color="magenta", weight=3]; 129[label="pr2F0G1 vyv3 vyv3 (Neg (Succ vyv5000)) (even (Neg (Succ vyv5000)))",fontsize=16,color="black",shape="box"];129 -> 132[label="",style="solid", color="black", weight=3]; 280[label="vyv3",fontsize=16,color="green",shape="box"];281[label="Succ vyv400",fontsize=16,color="green",shape="box"];282[label="vyv400",fontsize=16,color="green",shape="box"];279[label="pr2F0G1 vyv20 vyv20 (Pos (Succ vyv21)) (primEvenNat vyv22)",fontsize=16,color="burlywood",shape="triangle"];7344[label="vyv22/Succ vyv220",fontsize=10,color="white",style="solid",shape="box"];279 -> 7344[label="",style="solid", color="burlywood", weight=9]; 7344 -> 298[label="",style="solid", color="burlywood", weight=3]; 7345[label="vyv22/Zero",fontsize=10,color="white",style="solid",shape="box"];279 -> 7345[label="",style="solid", color="burlywood", weight=9]; 7345 -> 299[label="",style="solid", color="burlywood", weight=3]; 132[label="pr2F0G1 vyv3 vyv3 (Neg (Succ vyv5000)) (primEvenInt (Neg (Succ vyv5000)))",fontsize=16,color="black",shape="box"];132 -> 135[label="",style="solid", color="black", weight=3]; 298[label="pr2F0G1 vyv20 vyv20 (Pos (Succ vyv21)) (primEvenNat (Succ vyv220))",fontsize=16,color="burlywood",shape="box"];7346[label="vyv220/Succ vyv2200",fontsize=10,color="white",style="solid",shape="box"];298 -> 7346[label="",style="solid", color="burlywood", weight=9]; 7346 -> 302[label="",style="solid", color="burlywood", weight=3]; 7347[label="vyv220/Zero",fontsize=10,color="white",style="solid",shape="box"];298 -> 7347[label="",style="solid", color="burlywood", weight=9]; 7347 -> 303[label="",style="solid", color="burlywood", weight=3]; 299[label="pr2F0G1 vyv20 vyv20 (Pos (Succ vyv21)) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];299 -> 304[label="",style="solid", color="black", weight=3]; 135 -> 222[label="",style="dashed", color="red", weight=0]; 135[label="pr2F0G1 vyv3 vyv3 (Neg (Succ vyv5000)) (primEvenNat (Succ vyv5000))",fontsize=16,color="magenta"];135 -> 223[label="",style="dashed", color="magenta", weight=3]; 135 -> 224[label="",style="dashed", color="magenta", weight=3]; 135 -> 225[label="",style="dashed", color="magenta", weight=3]; 302[label="pr2F0G1 vyv20 vyv20 (Pos (Succ vyv21)) (primEvenNat (Succ (Succ vyv2200)))",fontsize=16,color="black",shape="box"];302 -> 307[label="",style="solid", color="black", weight=3]; 303[label="pr2F0G1 vyv20 vyv20 (Pos (Succ vyv21)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];303 -> 308[label="",style="solid", color="black", weight=3]; 304[label="pr2F0G1 vyv20 vyv20 (Pos (Succ vyv21)) True",fontsize=16,color="black",shape="box"];304 -> 309[label="",style="solid", color="black", weight=3]; 223[label="Succ vyv5000",fontsize=16,color="green",shape="box"];224[label="vyv5000",fontsize=16,color="green",shape="box"];225[label="vyv3",fontsize=16,color="green",shape="box"];222[label="pr2F0G1 vyv12 vyv12 (Neg (Succ vyv13)) (primEvenNat vyv14)",fontsize=16,color="burlywood",shape="triangle"];7348[label="vyv14/Succ vyv140",fontsize=10,color="white",style="solid",shape="box"];222 -> 7348[label="",style="solid", color="burlywood", weight=9]; 7348 -> 235[label="",style="solid", color="burlywood", weight=3]; 7349[label="vyv14/Zero",fontsize=10,color="white",style="solid",shape="box"];222 -> 7349[label="",style="solid", color="burlywood", weight=9]; 7349 -> 236[label="",style="solid", color="burlywood", weight=3]; 307 -> 279[label="",style="dashed", color="red", weight=0]; 307[label="pr2F0G1 vyv20 vyv20 (Pos (Succ vyv21)) (primEvenNat vyv2200)",fontsize=16,color="magenta"];307 -> 312[label="",style="dashed", color="magenta", weight=3]; 308[label="pr2F0G1 vyv20 vyv20 (Pos (Succ vyv21)) False",fontsize=16,color="black",shape="box"];308 -> 313[label="",style="solid", color="black", weight=3]; 309 -> 2645[label="",style="dashed", color="red", weight=0]; 309[label="pr2F0G vyv20 (vyv20 * vyv20) (Pos (Succ vyv21) `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];309 -> 2646[label="",style="dashed", color="magenta", weight=3]; 309 -> 2647[label="",style="dashed", color="magenta", weight=3]; 309 -> 2648[label="",style="dashed", color="magenta", weight=3]; 235[label="pr2F0G1 vyv12 vyv12 (Neg (Succ vyv13)) (primEvenNat (Succ vyv140))",fontsize=16,color="burlywood",shape="box"];7350[label="vyv140/Succ vyv1400",fontsize=10,color="white",style="solid",shape="box"];235 -> 7350[label="",style="solid", color="burlywood", weight=9]; 7350 -> 239[label="",style="solid", color="burlywood", weight=3]; 7351[label="vyv140/Zero",fontsize=10,color="white",style="solid",shape="box"];235 -> 7351[label="",style="solid", color="burlywood", weight=9]; 7351 -> 240[label="",style="solid", color="burlywood", weight=3]; 236[label="pr2F0G1 vyv12 vyv12 (Neg (Succ vyv13)) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];236 -> 241[label="",style="solid", color="black", weight=3]; 312[label="vyv2200",fontsize=16,color="green",shape="box"];313[label="pr2F0G0 vyv20 vyv20 (Pos (Succ vyv21)) otherwise",fontsize=16,color="black",shape="box"];313 -> 317[label="",style="solid", color="black", weight=3]; 2646[label="vyv20",fontsize=16,color="green",shape="box"];2647[label="Pos (Succ vyv21)",fontsize=16,color="green",shape="box"];2648[label="vyv20",fontsize=16,color="green",shape="box"];2645[label="pr2F0G vyv209 (vyv210 * vyv210) (vyv211 `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="black",shape="triangle"];2645 -> 2742[label="",style="solid", color="black", weight=3]; 239[label="pr2F0G1 vyv12 vyv12 (Neg (Succ vyv13)) (primEvenNat (Succ (Succ vyv1400)))",fontsize=16,color="black",shape="box"];239 -> 250[label="",style="solid", color="black", weight=3]; 240[label="pr2F0G1 vyv12 vyv12 (Neg (Succ vyv13)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];240 -> 251[label="",style="solid", color="black", weight=3]; 241[label="pr2F0G1 vyv12 vyv12 (Neg (Succ vyv13)) True",fontsize=16,color="black",shape="box"];241 -> 252[label="",style="solid", color="black", weight=3]; 317[label="pr2F0G0 vyv20 vyv20 (Pos (Succ vyv21)) True",fontsize=16,color="black",shape="box"];317 -> 321[label="",style="solid", color="black", weight=3]; 2742[label="pr2F0G2 vyv209 (vyv210 * vyv210) (vyv211 `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="black",shape="box"];2742 -> 2794[label="",style="solid", color="black", weight=3]; 250 -> 222[label="",style="dashed", color="red", weight=0]; 250[label="pr2F0G1 vyv12 vyv12 (Neg (Succ vyv13)) (primEvenNat vyv1400)",fontsize=16,color="magenta"];250 -> 260[label="",style="dashed", color="magenta", weight=3]; 251[label="pr2F0G1 vyv12 vyv12 (Neg (Succ vyv13)) False",fontsize=16,color="black",shape="box"];251 -> 261[label="",style="solid", color="black", weight=3]; 252 -> 2645[label="",style="dashed", color="red", weight=0]; 252[label="pr2F0G vyv12 (vyv12 * vyv12) (Neg (Succ vyv13) `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];252 -> 2649[label="",style="dashed", color="magenta", weight=3]; 252 -> 2650[label="",style="dashed", color="magenta", weight=3]; 252 -> 2651[label="",style="dashed", color="magenta", weight=3]; 321 -> 325[label="",style="dashed", color="red", weight=0]; 321[label="pr2F vyv20 (Pos (Succ vyv21) - fromInt (Pos (Succ Zero))) (vyv20 * vyv20)",fontsize=16,color="magenta"];321 -> 326[label="",style="dashed", color="magenta", weight=3]; 2794 -> 2826[label="",style="dashed", color="red", weight=0]; 2794[label="pr2F0G1 vyv209 (vyv210 * vyv210) (vyv211 `quot` fromInt (Pos (Succ (Succ Zero)))) (even (vyv211 `quot` fromInt (Pos (Succ (Succ Zero)))))",fontsize=16,color="magenta"];2794 -> 2827[label="",style="dashed", color="magenta", weight=3]; 2794 -> 2828[label="",style="dashed", color="magenta", weight=3]; 2794 -> 2829[label="",style="dashed", color="magenta", weight=3]; 2794 -> 2830[label="",style="dashed", color="magenta", weight=3]; 260[label="vyv1400",fontsize=16,color="green",shape="box"];261[label="pr2F0G0 vyv12 vyv12 (Neg (Succ vyv13)) otherwise",fontsize=16,color="black",shape="box"];261 -> 276[label="",style="solid", color="black", weight=3]; 2649[label="vyv12",fontsize=16,color="green",shape="box"];2650[label="Neg (Succ vyv13)",fontsize=16,color="green",shape="box"];2651[label="vyv12",fontsize=16,color="green",shape="box"];326 -> 29[label="",style="dashed", color="red", weight=0]; 326[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];325[label="pr2F vyv20 (Pos (Succ vyv21) - vyv24) (vyv20 * vyv20)",fontsize=16,color="black",shape="triangle"];325 -> 328[label="",style="solid", color="black", weight=3]; 2827[label="vyv209",fontsize=16,color="green",shape="box"];2828[label="vyv211",fontsize=16,color="green",shape="box"];2829[label="vyv210",fontsize=16,color="green",shape="box"];2830[label="even (vyv211 `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="blue",shape="box"];7352[label="even :: Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];2830 -> 7352[label="",style="solid", color="blue", weight=9]; 7352 -> 2831[label="",style="solid", color="blue", weight=3]; 7353[label="even :: Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];2830 -> 7353[label="",style="solid", color="blue", weight=9]; 7353 -> 2832[label="",style="solid", color="blue", weight=3]; 2826[label="pr2F0G1 vyv220 (vyv221 * vyv221) (vyv222 `quot` fromInt (Pos (Succ (Succ Zero)))) vyv223",fontsize=16,color="burlywood",shape="triangle"];7354[label="vyv223/False",fontsize=10,color="white",style="solid",shape="box"];2826 -> 7354[label="",style="solid", color="burlywood", weight=9]; 7354 -> 2833[label="",style="solid", color="burlywood", weight=3]; 7355[label="vyv223/True",fontsize=10,color="white",style="solid",shape="box"];2826 -> 7355[label="",style="solid", color="burlywood", weight=9]; 7355 -> 2834[label="",style="solid", color="burlywood", weight=3]; 276[label="pr2F0G0 vyv12 vyv12 (Neg (Succ vyv13)) True",fontsize=16,color="black",shape="box"];276 -> 300[label="",style="solid", color="black", weight=3]; 328[label="pr2F4 vyv20 (Pos (Succ vyv21) - vyv24) (vyv20 * vyv20)",fontsize=16,color="black",shape="box"];328 -> 333[label="",style="solid", color="black", weight=3]; 2831 -> 3293[label="",style="dashed", color="red", weight=0]; 2831[label="even (vyv211 `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];2831 -> 3294[label="",style="dashed", color="magenta", weight=3]; 2832 -> 3322[label="",style="dashed", color="red", weight=0]; 2832[label="even (vyv211 `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];2832 -> 3323[label="",style="dashed", color="magenta", weight=3]; 2833[label="pr2F0G1 vyv220 (vyv221 * vyv221) (vyv222 `quot` fromInt (Pos (Succ (Succ Zero)))) False",fontsize=16,color="black",shape="box"];2833 -> 2851[label="",style="solid", color="black", weight=3]; 2834[label="pr2F0G1 vyv220 (vyv221 * vyv221) (vyv222 `quot` fromInt (Pos (Succ (Succ Zero)))) True",fontsize=16,color="black",shape="box"];2834 -> 2852[label="",style="solid", color="black", weight=3]; 300 -> 305[label="",style="dashed", color="red", weight=0]; 300[label="pr2F vyv12 (Neg (Succ vyv13) - fromInt (Pos (Succ Zero))) (vyv12 * vyv12)",fontsize=16,color="magenta"];300 -> 306[label="",style="dashed", color="magenta", weight=3]; 333[label="pr2F3 (Pos (Succ vyv21) - vyv24 == fromInt (Pos Zero)) vyv20 (Pos (Succ vyv21) - vyv24) (vyv20 * vyv20)",fontsize=16,color="black",shape="box"];333 -> 339[label="",style="solid", color="black", weight=3]; 3294 -> 2890[label="",style="dashed", color="red", weight=0]; 3294[label="vyv211 `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];3294 -> 3296[label="",style="dashed", color="magenta", weight=3]; 3293[label="even vyv272",fontsize=16,color="black",shape="triangle"];3293 -> 3297[label="",style="solid", color="black", weight=3]; 3323 -> 2891[label="",style="dashed", color="red", weight=0]; 3323[label="vyv211 `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];3323 -> 3325[label="",style="dashed", color="magenta", weight=3]; 3322[label="even vyv286",fontsize=16,color="black",shape="triangle"];3322 -> 3326[label="",style="solid", color="black", weight=3]; 2851[label="pr2F0G0 vyv220 (vyv221 * vyv221) (vyv222 `quot` fromInt (Pos (Succ (Succ Zero)))) otherwise",fontsize=16,color="black",shape="box"];2851 -> 2870[label="",style="solid", color="black", weight=3]; 2852 -> 2645[label="",style="dashed", color="red", weight=0]; 2852[label="pr2F0G vyv220 (vyv221 * vyv221 * (vyv221 * vyv221)) (vyv222 `quot` fromInt (Pos (Succ (Succ Zero))) `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];2852 -> 2871[label="",style="dashed", color="magenta", weight=3]; 2852 -> 2872[label="",style="dashed", color="magenta", weight=3]; 2852 -> 2873[label="",style="dashed", color="magenta", weight=3]; 306 -> 29[label="",style="dashed", color="red", weight=0]; 306[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];305[label="pr2F vyv12 (Neg (Succ vyv13) - vyv23) (vyv12 * vyv12)",fontsize=16,color="black",shape="triangle"];305 -> 311[label="",style="solid", color="black", weight=3]; 339[label="pr2F3 (primEqInt (Pos (Succ vyv21) - vyv24) (fromInt (Pos Zero))) vyv20 (Pos (Succ vyv21) - vyv24) (vyv20 * vyv20)",fontsize=16,color="black",shape="box"];339 -> 346[label="",style="solid", color="black", weight=3]; 3296[label="vyv211",fontsize=16,color="green",shape="box"];2890[label="vyv222 `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="triangle"];2890 -> 2935[label="",style="solid", color="black", weight=3]; 3297[label="primEvenInt vyv272",fontsize=16,color="burlywood",shape="box"];7356[label="vyv272/Pos vyv2720",fontsize=10,color="white",style="solid",shape="box"];3297 -> 7356[label="",style="solid", color="burlywood", weight=9]; 7356 -> 3314[label="",style="solid", color="burlywood", weight=3]; 7357[label="vyv272/Neg vyv2720",fontsize=10,color="white",style="solid",shape="box"];3297 -> 7357[label="",style="solid", color="burlywood", weight=9]; 7357 -> 3315[label="",style="solid", color="burlywood", weight=3]; 3325[label="vyv211",fontsize=16,color="green",shape="box"];2891[label="vyv222 `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="burlywood",shape="triangle"];7358[label="vyv222/Integer vyv2220",fontsize=10,color="white",style="solid",shape="box"];2891 -> 7358[label="",style="solid", color="burlywood", weight=9]; 7358 -> 2936[label="",style="solid", color="burlywood", weight=3]; 3326[label="error []",fontsize=16,color="red",shape="box"];2870[label="pr2F0G0 vyv220 (vyv221 * vyv221) (vyv222 `quot` fromInt (Pos (Succ (Succ Zero)))) True",fontsize=16,color="black",shape="box"];2870 -> 2884[label="",style="solid", color="black", weight=3]; 2871[label="vyv221 * vyv221",fontsize=16,color="blue",shape="box"];7359[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];2871 -> 7359[label="",style="solid", color="blue", weight=9]; 7359 -> 2885[label="",style="solid", color="blue", weight=3]; 7360[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];2871 -> 7360[label="",style="solid", color="blue", weight=9]; 7360 -> 2886[label="",style="solid", color="blue", weight=3]; 7361[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];2871 -> 7361[label="",style="solid", color="blue", weight=9]; 7361 -> 2887[label="",style="solid", color="blue", weight=3]; 7362[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];2871 -> 7362[label="",style="solid", color="blue", weight=9]; 7362 -> 2888[label="",style="solid", color="blue", weight=3]; 7363[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];2871 -> 7363[label="",style="solid", color="blue", weight=9]; 7363 -> 2889[label="",style="solid", color="blue", weight=3]; 2872[label="vyv222 `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="blue",shape="box"];7364[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];2872 -> 7364[label="",style="solid", color="blue", weight=9]; 7364 -> 2890[label="",style="solid", color="blue", weight=3]; 7365[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];2872 -> 7365[label="",style="solid", color="blue", weight=9]; 7365 -> 2891[label="",style="solid", color="blue", weight=3]; 2873[label="vyv220",fontsize=16,color="green",shape="box"];311[label="pr2F4 vyv12 (Neg (Succ vyv13) - vyv23) (vyv12 * vyv12)",fontsize=16,color="black",shape="box"];311 -> 316[label="",style="solid", color="black", weight=3]; 346[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vyv21)) vyv24) (fromInt (Pos Zero))) vyv20 (primMinusInt (Pos (Succ vyv21)) vyv24) (vyv20 * vyv20)",fontsize=16,color="burlywood",shape="box"];7366[label="vyv24/Pos vyv240",fontsize=10,color="white",style="solid",shape="box"];346 -> 7366[label="",style="solid", color="burlywood", weight=9]; 7366 -> 359[label="",style="solid", color="burlywood", weight=3]; 7367[label="vyv24/Neg vyv240",fontsize=10,color="white",style="solid",shape="box"];346 -> 7367[label="",style="solid", color="burlywood", weight=9]; 7367 -> 360[label="",style="solid", color="burlywood", weight=3]; 2935[label="primQuotInt vyv222 (fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="burlywood",shape="box"];7368[label="vyv222/Pos vyv2220",fontsize=10,color="white",style="solid",shape="box"];2935 -> 7368[label="",style="solid", color="burlywood", weight=9]; 7368 -> 2952[label="",style="solid", color="burlywood", weight=3]; 7369[label="vyv222/Neg vyv2220",fontsize=10,color="white",style="solid",shape="box"];2935 -> 7369[label="",style="solid", color="burlywood", weight=9]; 7369 -> 2953[label="",style="solid", color="burlywood", weight=3]; 3314[label="primEvenInt (Pos vyv2720)",fontsize=16,color="black",shape="box"];3314 -> 3327[label="",style="solid", color="black", weight=3]; 3315[label="primEvenInt (Neg vyv2720)",fontsize=16,color="black",shape="box"];3315 -> 3328[label="",style="solid", color="black", weight=3]; 2936[label="Integer vyv2220 `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];2936 -> 2954[label="",style="solid", color="black", weight=3]; 2884[label="pr2F (vyv221 * vyv221) (vyv222 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))) (vyv221 * vyv221 * vyv220)",fontsize=16,color="black",shape="box"];2884 -> 2929[label="",style="solid", color="black", weight=3]; 2885[label="vyv221 * vyv221",fontsize=16,color="black",shape="box"];2885 -> 5136[label="",style="solid", color="black", weight=3]; 2886[label="vyv221 * vyv221",fontsize=16,color="black",shape="box"];2886 -> 5137[label="",style="solid", color="black", weight=3]; 2887[label="vyv221 * vyv221",fontsize=16,color="black",shape="box"];2887 -> 5138[label="",style="solid", color="black", weight=3]; 2888[label="vyv221 * vyv221",fontsize=16,color="burlywood",shape="box"];7370[label="vyv221/Integer vyv2210",fontsize=10,color="white",style="solid",shape="box"];2888 -> 7370[label="",style="solid", color="burlywood", weight=9]; 7370 -> 5139[label="",style="solid", color="burlywood", weight=3]; 2889[label="vyv221 * vyv221",fontsize=16,color="burlywood",shape="box"];7371[label="vyv221/vyv2210 :% vyv2211",fontsize=10,color="white",style="solid",shape="box"];2889 -> 7371[label="",style="solid", color="burlywood", weight=9]; 7371 -> 5140[label="",style="solid", color="burlywood", weight=3]; 316[label="pr2F3 (Neg (Succ vyv13) - vyv23 == fromInt (Pos Zero)) vyv12 (Neg (Succ vyv13) - vyv23) (vyv12 * vyv12)",fontsize=16,color="black",shape="box"];316 -> 320[label="",style="solid", color="black", weight=3]; 359[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vyv21)) (Pos vyv240)) (fromInt (Pos Zero))) vyv20 (primMinusInt (Pos (Succ vyv21)) (Pos vyv240)) (vyv20 * vyv20)",fontsize=16,color="black",shape="box"];359 -> 370[label="",style="solid", color="black", weight=3]; 360[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vyv21)) (Neg vyv240)) (fromInt (Pos Zero))) vyv20 (primMinusInt (Pos (Succ vyv21)) (Neg vyv240)) (vyv20 * vyv20)",fontsize=16,color="black",shape="box"];360 -> 371[label="",style="solid", color="black", weight=3]; 2952[label="primQuotInt (Pos vyv2220) (fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="black",shape="box"];2952 -> 2979[label="",style="solid", color="black", weight=3]; 2953[label="primQuotInt (Neg vyv2220) (fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="black",shape="box"];2953 -> 2980[label="",style="solid", color="black", weight=3]; 3327[label="primEvenNat vyv2720",fontsize=16,color="burlywood",shape="triangle"];7372[label="vyv2720/Succ vyv27200",fontsize=10,color="white",style="solid",shape="box"];3327 -> 7372[label="",style="solid", color="burlywood", weight=9]; 7372 -> 3368[label="",style="solid", color="burlywood", weight=3]; 7373[label="vyv2720/Zero",fontsize=10,color="white",style="solid",shape="box"];3327 -> 7373[label="",style="solid", color="burlywood", weight=9]; 7373 -> 3369[label="",style="solid", color="burlywood", weight=3]; 3328 -> 3327[label="",style="dashed", color="red", weight=0]; 3328[label="primEvenNat vyv2720",fontsize=16,color="magenta"];3328 -> 3370[label="",style="dashed", color="magenta", weight=3]; 2954 -> 3813[label="",style="dashed", color="red", weight=0]; 2954[label="Integer vyv2220 `quot` Integer (Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];2954 -> 3814[label="",style="dashed", color="magenta", weight=3]; 2954 -> 3815[label="",style="dashed", color="magenta", weight=3]; 2929[label="pr2F4 (vyv221 * vyv221) (vyv222 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))) (vyv221 * vyv221 * vyv220)",fontsize=16,color="black",shape="box"];2929 -> 2951[label="",style="solid", color="black", weight=3]; 5136 -> 2743[label="",style="dashed", color="red", weight=0]; 5136[label="primMulFloat vyv221 vyv221",fontsize=16,color="magenta"];5136 -> 5211[label="",style="dashed", color="magenta", weight=3]; 5137 -> 2744[label="",style="dashed", color="red", weight=0]; 5137[label="primMulDouble vyv221 vyv221",fontsize=16,color="magenta"];5137 -> 5212[label="",style="dashed", color="magenta", weight=3]; 5138 -> 2745[label="",style="dashed", color="red", weight=0]; 5138[label="primMulInt vyv221 vyv221",fontsize=16,color="magenta"];5138 -> 5213[label="",style="dashed", color="magenta", weight=3]; 5139[label="Integer vyv2210 * Integer vyv2210",fontsize=16,color="black",shape="box"];5139 -> 5214[label="",style="solid", color="black", weight=3]; 5140[label="vyv2210 :% vyv2211 * (vyv2210 :% vyv2211)",fontsize=16,color="black",shape="box"];5140 -> 5215[label="",style="solid", color="black", weight=3]; 320[label="pr2F3 (primEqInt (Neg (Succ vyv13) - vyv23) (fromInt (Pos Zero))) vyv12 (Neg (Succ vyv13) - vyv23) (vyv12 * vyv12)",fontsize=16,color="black",shape="box"];320 -> 324[label="",style="solid", color="black", weight=3]; 370 -> 361[label="",style="dashed", color="red", weight=0]; 370[label="pr2F3 (primEqInt (primMinusNat (Succ vyv21) vyv240) (fromInt (Pos Zero))) vyv20 (primMinusNat (Succ vyv21) vyv240) (vyv20 * vyv20)",fontsize=16,color="magenta"];370 -> 383[label="",style="dashed", color="magenta", weight=3]; 370 -> 384[label="",style="dashed", color="magenta", weight=3]; 370 -> 385[label="",style="dashed", color="magenta", weight=3]; 371 -> 386[label="",style="dashed", color="red", weight=0]; 371[label="pr2F3 (primEqInt (Pos (primPlusNat (Succ vyv21) vyv240)) (fromInt (Pos Zero))) vyv20 (Pos (primPlusNat (Succ vyv21) vyv240)) (vyv20 * vyv20)",fontsize=16,color="magenta"];371 -> 387[label="",style="dashed", color="magenta", weight=3]; 371 -> 388[label="",style="dashed", color="magenta", weight=3]; 2979 -> 3852[label="",style="dashed", color="red", weight=0]; 2979[label="primQuotInt (Pos vyv2220) (Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];2979 -> 3853[label="",style="dashed", color="magenta", weight=3]; 2979 -> 3854[label="",style="dashed", color="magenta", weight=3]; 2980[label="primQuotInt (Neg vyv2220) (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];2980 -> 3000[label="",style="solid", color="black", weight=3]; 3368[label="primEvenNat (Succ vyv27200)",fontsize=16,color="burlywood",shape="box"];7374[label="vyv27200/Succ vyv272000",fontsize=10,color="white",style="solid",shape="box"];3368 -> 7374[label="",style="solid", color="burlywood", weight=9]; 7374 -> 3413[label="",style="solid", color="burlywood", weight=3]; 7375[label="vyv27200/Zero",fontsize=10,color="white",style="solid",shape="box"];3368 -> 7375[label="",style="solid", color="burlywood", weight=9]; 7375 -> 3414[label="",style="solid", color="burlywood", weight=3]; 3369[label="primEvenNat Zero",fontsize=16,color="black",shape="box"];3369 -> 3415[label="",style="solid", color="black", weight=3]; 3370[label="vyv2720",fontsize=16,color="green",shape="box"];3814[label="Integer (Pos (Succ (Succ Zero)))",fontsize=16,color="green",shape="box"];3815[label="vyv2220",fontsize=16,color="green",shape="box"];3813[label="Integer vyv2960 `quot` vyv325",fontsize=16,color="burlywood",shape="triangle"];7376[label="vyv325/Integer vyv3250",fontsize=10,color="white",style="solid",shape="box"];3813 -> 7376[label="",style="solid", color="burlywood", weight=9]; 7376 -> 3829[label="",style="solid", color="burlywood", weight=3]; 2951 -> 2974[label="",style="dashed", color="red", weight=0]; 2951[label="pr2F3 (vyv222 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero)) == fromInt (Pos Zero)) (vyv221 * vyv221) (vyv222 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))) (vyv221 * vyv221 * vyv220)",fontsize=16,color="magenta"];2951 -> 2975[label="",style="dashed", color="magenta", weight=3]; 2951 -> 2976[label="",style="dashed", color="magenta", weight=3]; 2951 -> 2977[label="",style="dashed", color="magenta", weight=3]; 2951 -> 2978[label="",style="dashed", color="magenta", weight=3]; 5211[label="vyv221",fontsize=16,color="green",shape="box"];2743 -> 2821[label="",style="dashed", color="red", weight=0]; 2743[label="primMulFloat vyv20 vyv20",fontsize=16,color="magenta"];2743 -> 2822[label="",style="dashed", color="magenta", weight=3]; 2743 -> 2823[label="",style="dashed", color="magenta", weight=3]; 5212[label="vyv221",fontsize=16,color="green",shape="box"];2744 -> 2844[label="",style="dashed", color="red", weight=0]; 2744[label="primMulDouble vyv20 vyv20",fontsize=16,color="magenta"];2744 -> 2845[label="",style="dashed", color="magenta", weight=3]; 2744 -> 2846[label="",style="dashed", color="magenta", weight=3]; 5213[label="vyv221",fontsize=16,color="green",shape="box"];2745 -> 2860[label="",style="dashed", color="red", weight=0]; 2745[label="primMulInt vyv20 vyv20",fontsize=16,color="magenta"];2745 -> 2861[label="",style="dashed", color="magenta", weight=3]; 2745 -> 2862[label="",style="dashed", color="magenta", weight=3]; 5214[label="Integer (primMulInt vyv2210 vyv2210)",fontsize=16,color="green",shape="box"];5214 -> 5356[label="",style="dashed", color="green", weight=3]; 5215 -> 2800[label="",style="dashed", color="red", weight=0]; 5215[label="reduce (vyv2210 * vyv2210) (vyv2211 * vyv2211)",fontsize=16,color="magenta"];5215 -> 5357[label="",style="dashed", color="magenta", weight=3]; 5215 -> 5358[label="",style="dashed", color="magenta", weight=3]; 324[label="pr2F3 (primEqInt (primMinusInt (Neg (Succ vyv13)) vyv23) (fromInt (Pos Zero))) vyv12 (primMinusInt (Neg (Succ vyv13)) vyv23) (vyv12 * vyv12)",fontsize=16,color="burlywood",shape="box"];7377[label="vyv23/Pos vyv230",fontsize=10,color="white",style="solid",shape="box"];324 -> 7377[label="",style="solid", color="burlywood", weight=9]; 7377 -> 330[label="",style="solid", color="burlywood", weight=3]; 7378[label="vyv23/Neg vyv230",fontsize=10,color="white",style="solid",shape="box"];324 -> 7378[label="",style="solid", color="burlywood", weight=9]; 7378 -> 331[label="",style="solid", color="burlywood", weight=3]; 383[label="vyv240",fontsize=16,color="green",shape="box"];384[label="vyv20",fontsize=16,color="green",shape="box"];385[label="Succ vyv21",fontsize=16,color="green",shape="box"];361[label="pr2F3 (primEqInt (primMinusNat vyv2300 vyv13) (fromInt (Pos Zero))) vyv12 (primMinusNat vyv2300 vyv13) (vyv12 * vyv12)",fontsize=16,color="burlywood",shape="triangle"];7379[label="vyv2300/Succ vyv23000",fontsize=10,color="white",style="solid",shape="box"];361 -> 7379[label="",style="solid", color="burlywood", weight=9]; 7379 -> 372[label="",style="solid", color="burlywood", weight=3]; 7380[label="vyv2300/Zero",fontsize=10,color="white",style="solid",shape="box"];361 -> 7380[label="",style="solid", color="burlywood", weight=9]; 7380 -> 373[label="",style="solid", color="burlywood", weight=3]; 387 -> 94[label="",style="dashed", color="red", weight=0]; 387[label="primPlusNat (Succ vyv21) vyv240",fontsize=16,color="magenta"];387 -> 392[label="",style="dashed", color="magenta", weight=3]; 387 -> 393[label="",style="dashed", color="magenta", weight=3]; 388 -> 94[label="",style="dashed", color="red", weight=0]; 388[label="primPlusNat (Succ vyv21) vyv240",fontsize=16,color="magenta"];388 -> 394[label="",style="dashed", color="magenta", weight=3]; 388 -> 395[label="",style="dashed", color="magenta", weight=3]; 386[label="pr2F3 (primEqInt (Pos vyv28) (fromInt (Pos Zero))) vyv20 (Pos vyv27) (vyv20 * vyv20)",fontsize=16,color="burlywood",shape="triangle"];7381[label="vyv28/Succ vyv280",fontsize=10,color="white",style="solid",shape="box"];386 -> 7381[label="",style="solid", color="burlywood", weight=9]; 7381 -> 396[label="",style="solid", color="burlywood", weight=3]; 7382[label="vyv28/Zero",fontsize=10,color="white",style="solid",shape="box"];386 -> 7382[label="",style="solid", color="burlywood", weight=9]; 7382 -> 397[label="",style="solid", color="burlywood", weight=3]; 3853[label="Pos (Succ (Succ Zero))",fontsize=16,color="green",shape="box"];3854[label="vyv2220",fontsize=16,color="green",shape="box"];3852[label="primQuotInt (Pos vyv2930) vyv327",fontsize=16,color="burlywood",shape="triangle"];7383[label="vyv327/Pos vyv3270",fontsize=10,color="white",style="solid",shape="box"];3852 -> 7383[label="",style="solid", color="burlywood", weight=9]; 7383 -> 3868[label="",style="solid", color="burlywood", weight=3]; 7384[label="vyv327/Neg vyv3270",fontsize=10,color="white",style="solid",shape="box"];3852 -> 7384[label="",style="solid", color="burlywood", weight=9]; 7384 -> 3869[label="",style="solid", color="burlywood", weight=3]; 3000[label="Neg (primDivNatS vyv2220 (Succ (Succ Zero)))",fontsize=16,color="green",shape="box"];3000 -> 3033[label="",style="dashed", color="green", weight=3]; 3413[label="primEvenNat (Succ (Succ vyv272000))",fontsize=16,color="black",shape="box"];3413 -> 3441[label="",style="solid", color="black", weight=3]; 3414[label="primEvenNat (Succ Zero)",fontsize=16,color="black",shape="box"];3414 -> 3442[label="",style="solid", color="black", weight=3]; 3415[label="True",fontsize=16,color="green",shape="box"];3829[label="Integer vyv2960 `quot` Integer vyv3250",fontsize=16,color="black",shape="box"];3829 -> 3850[label="",style="solid", color="black", weight=3]; 2975[label="vyv221",fontsize=16,color="green",shape="box"];2976[label="vyv222",fontsize=16,color="green",shape="box"];2977[label="vyv222 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero)) == fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];7385[label="== :: -> Int (-> Int Bool)",fontsize=10,color="white",style="solid",shape="box"];2977 -> 7385[label="",style="solid", color="blue", weight=9]; 7385 -> 2985[label="",style="solid", color="blue", weight=3]; 7386[label="== :: -> Integer (-> Integer Bool)",fontsize=10,color="white",style="solid",shape="box"];2977 -> 7386[label="",style="solid", color="blue", weight=9]; 7386 -> 2986[label="",style="solid", color="blue", weight=3]; 2978[label="vyv220",fontsize=16,color="green",shape="box"];2974[label="pr2F3 vyv240 (vyv241 * vyv241) (vyv242 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))) (vyv241 * vyv241 * vyv243)",fontsize=16,color="burlywood",shape="triangle"];7387[label="vyv240/False",fontsize=10,color="white",style="solid",shape="box"];2974 -> 7387[label="",style="solid", color="burlywood", weight=9]; 7387 -> 2987[label="",style="solid", color="burlywood", weight=3]; 7388[label="vyv240/True",fontsize=10,color="white",style="solid",shape="box"];2974 -> 7388[label="",style="solid", color="burlywood", weight=9]; 7388 -> 2988[label="",style="solid", color="burlywood", weight=3]; 2822[label="vyv20",fontsize=16,color="green",shape="box"];2823[label="vyv20",fontsize=16,color="green",shape="box"];2821[label="primMulFloat vyv12 vyv214",fontsize=16,color="burlywood",shape="triangle"];7389[label="vyv12/Float vyv120 vyv121",fontsize=10,color="white",style="solid",shape="box"];2821 -> 7389[label="",style="solid", color="burlywood", weight=9]; 7389 -> 2835[label="",style="solid", color="burlywood", weight=3]; 2845[label="vyv20",fontsize=16,color="green",shape="box"];2846[label="vyv20",fontsize=16,color="green",shape="box"];2844[label="primMulDouble vyv12 vyv224",fontsize=16,color="burlywood",shape="triangle"];7390[label="vyv12/Double vyv120 vyv121",fontsize=10,color="white",style="solid",shape="box"];2844 -> 7390[label="",style="solid", color="burlywood", weight=9]; 7390 -> 2853[label="",style="solid", color="burlywood", weight=3]; 2861[label="vyv20",fontsize=16,color="green",shape="box"];2862[label="vyv20",fontsize=16,color="green",shape="box"];2860[label="primMulInt vyv12 vyv225",fontsize=16,color="burlywood",shape="triangle"];7391[label="vyv12/Pos vyv120",fontsize=10,color="white",style="solid",shape="box"];2860 -> 7391[label="",style="solid", color="burlywood", weight=9]; 7391 -> 2874[label="",style="solid", color="burlywood", weight=3]; 7392[label="vyv12/Neg vyv120",fontsize=10,color="white",style="solid",shape="box"];2860 -> 7392[label="",style="solid", color="burlywood", weight=9]; 7392 -> 2875[label="",style="solid", color="burlywood", weight=3]; 5356 -> 2745[label="",style="dashed", color="red", weight=0]; 5356[label="primMulInt vyv2210 vyv2210",fontsize=16,color="magenta"];5356 -> 5374[label="",style="dashed", color="magenta", weight=3]; 5357[label="vyv2211",fontsize=16,color="green",shape="box"];5358[label="vyv2210",fontsize=16,color="green",shape="box"];2800[label="reduce (vyv200 * vyv200) (vyv201 * vyv201)",fontsize=16,color="black",shape="triangle"];2800 -> 2840[label="",style="solid", color="black", weight=3]; 330[label="pr2F3 (primEqInt (primMinusInt (Neg (Succ vyv13)) (Pos vyv230)) (fromInt (Pos Zero))) vyv12 (primMinusInt (Neg (Succ vyv13)) (Pos vyv230)) (vyv12 * vyv12)",fontsize=16,color="black",shape="box"];330 -> 336[label="",style="solid", color="black", weight=3]; 331[label="pr2F3 (primEqInt (primMinusInt (Neg (Succ vyv13)) (Neg vyv230)) (fromInt (Pos Zero))) vyv12 (primMinusInt (Neg (Succ vyv13)) (Neg vyv230)) (vyv12 * vyv12)",fontsize=16,color="black",shape="box"];331 -> 337[label="",style="solid", color="black", weight=3]; 372[label="pr2F3 (primEqInt (primMinusNat (Succ vyv23000) vyv13) (fromInt (Pos Zero))) vyv12 (primMinusNat (Succ vyv23000) vyv13) (vyv12 * vyv12)",fontsize=16,color="burlywood",shape="box"];7393[label="vyv13/Succ vyv130",fontsize=10,color="white",style="solid",shape="box"];372 -> 7393[label="",style="solid", color="burlywood", weight=9]; 7393 -> 398[label="",style="solid", color="burlywood", weight=3]; 7394[label="vyv13/Zero",fontsize=10,color="white",style="solid",shape="box"];372 -> 7394[label="",style="solid", color="burlywood", weight=9]; 7394 -> 399[label="",style="solid", color="burlywood", weight=3]; 373[label="pr2F3 (primEqInt (primMinusNat Zero vyv13) (fromInt (Pos Zero))) vyv12 (primMinusNat Zero vyv13) (vyv12 * vyv12)",fontsize=16,color="burlywood",shape="box"];7395[label="vyv13/Succ vyv130",fontsize=10,color="white",style="solid",shape="box"];373 -> 7395[label="",style="solid", color="burlywood", weight=9]; 7395 -> 400[label="",style="solid", color="burlywood", weight=3]; 7396[label="vyv13/Zero",fontsize=10,color="white",style="solid",shape="box"];373 -> 7396[label="",style="solid", color="burlywood", weight=9]; 7396 -> 401[label="",style="solid", color="burlywood", weight=3]; 392[label="Succ vyv21",fontsize=16,color="green",shape="box"];393[label="vyv240",fontsize=16,color="green",shape="box"];394[label="Succ vyv21",fontsize=16,color="green",shape="box"];395[label="vyv240",fontsize=16,color="green",shape="box"];396[label="pr2F3 (primEqInt (Pos (Succ vyv280)) (fromInt (Pos Zero))) vyv20 (Pos vyv27) (vyv20 * vyv20)",fontsize=16,color="black",shape="box"];396 -> 410[label="",style="solid", color="black", weight=3]; 397[label="pr2F3 (primEqInt (Pos Zero) (fromInt (Pos Zero))) vyv20 (Pos vyv27) (vyv20 * vyv20)",fontsize=16,color="black",shape="box"];397 -> 411[label="",style="solid", color="black", weight=3]; 3868[label="primQuotInt (Pos vyv2930) (Pos vyv3270)",fontsize=16,color="burlywood",shape="box"];7397[label="vyv3270/Succ vyv32700",fontsize=10,color="white",style="solid",shape="box"];3868 -> 7397[label="",style="solid", color="burlywood", weight=9]; 7397 -> 3874[label="",style="solid", color="burlywood", weight=3]; 7398[label="vyv3270/Zero",fontsize=10,color="white",style="solid",shape="box"];3868 -> 7398[label="",style="solid", color="burlywood", weight=9]; 7398 -> 3875[label="",style="solid", color="burlywood", weight=3]; 3869[label="primQuotInt (Pos vyv2930) (Neg vyv3270)",fontsize=16,color="burlywood",shape="box"];7399[label="vyv3270/Succ vyv32700",fontsize=10,color="white",style="solid",shape="box"];3869 -> 7399[label="",style="solid", color="burlywood", weight=9]; 7399 -> 3876[label="",style="solid", color="burlywood", weight=3]; 7400[label="vyv3270/Zero",fontsize=10,color="white",style="solid",shape="box"];3869 -> 7400[label="",style="solid", color="burlywood", weight=9]; 7400 -> 3877[label="",style="solid", color="burlywood", weight=3]; 3033 -> 3032[label="",style="dashed", color="red", weight=0]; 3033[label="primDivNatS vyv2220 (Succ (Succ Zero))",fontsize=16,color="magenta"];3033 -> 3065[label="",style="dashed", color="magenta", weight=3]; 3441 -> 3327[label="",style="dashed", color="red", weight=0]; 3441[label="primEvenNat vyv272000",fontsize=16,color="magenta"];3441 -> 3484[label="",style="dashed", color="magenta", weight=3]; 3442[label="False",fontsize=16,color="green",shape="box"];3850[label="Integer (primQuotInt vyv2960 vyv3250)",fontsize=16,color="green",shape="box"];3850 -> 3870[label="",style="dashed", color="green", weight=3]; 2985 -> 554[label="",style="dashed", color="red", weight=0]; 2985[label="vyv222 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];2985 -> 3004[label="",style="dashed", color="magenta", weight=3]; 2986 -> 2947[label="",style="dashed", color="red", weight=0]; 2986[label="vyv222 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];2986 -> 3005[label="",style="dashed", color="magenta", weight=3]; 2987[label="pr2F3 False (vyv241 * vyv241) (vyv242 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))) (vyv241 * vyv241 * vyv243)",fontsize=16,color="black",shape="box"];2987 -> 3006[label="",style="solid", color="black", weight=3]; 2988[label="pr2F3 True (vyv241 * vyv241) (vyv242 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))) (vyv241 * vyv241 * vyv243)",fontsize=16,color="black",shape="box"];2988 -> 3007[label="",style="solid", color="black", weight=3]; 2835[label="primMulFloat (Float vyv120 vyv121) vyv214",fontsize=16,color="burlywood",shape="box"];7401[label="vyv214/Float vyv2140 vyv2141",fontsize=10,color="white",style="solid",shape="box"];2835 -> 7401[label="",style="solid", color="burlywood", weight=9]; 7401 -> 2854[label="",style="solid", color="burlywood", weight=3]; 2853[label="primMulDouble (Double vyv120 vyv121) vyv224",fontsize=16,color="burlywood",shape="box"];7402[label="vyv224/Double vyv2240 vyv2241",fontsize=10,color="white",style="solid",shape="box"];2853 -> 7402[label="",style="solid", color="burlywood", weight=9]; 7402 -> 2876[label="",style="solid", color="burlywood", weight=3]; 2874[label="primMulInt (Pos vyv120) vyv225",fontsize=16,color="burlywood",shape="box"];7403[label="vyv225/Pos vyv2250",fontsize=10,color="white",style="solid",shape="box"];2874 -> 7403[label="",style="solid", color="burlywood", weight=9]; 7403 -> 2892[label="",style="solid", color="burlywood", weight=3]; 7404[label="vyv225/Neg vyv2250",fontsize=10,color="white",style="solid",shape="box"];2874 -> 7404[label="",style="solid", color="burlywood", weight=9]; 7404 -> 2893[label="",style="solid", color="burlywood", weight=3]; 2875[label="primMulInt (Neg vyv120) vyv225",fontsize=16,color="burlywood",shape="box"];7405[label="vyv225/Pos vyv2250",fontsize=10,color="white",style="solid",shape="box"];2875 -> 7405[label="",style="solid", color="burlywood", weight=9]; 7405 -> 2894[label="",style="solid", color="burlywood", weight=3]; 7406[label="vyv225/Neg vyv2250",fontsize=10,color="white",style="solid",shape="box"];2875 -> 7406[label="",style="solid", color="burlywood", weight=9]; 7406 -> 2895[label="",style="solid", color="burlywood", weight=3]; 5374[label="vyv2210",fontsize=16,color="green",shape="box"];2840[label="reduce2 (vyv200 * vyv200) (vyv201 * vyv201)",fontsize=16,color="black",shape="triangle"];2840 -> 2858[label="",style="solid", color="black", weight=3]; 336 -> 342[label="",style="dashed", color="red", weight=0]; 336[label="pr2F3 (primEqInt (Neg (primPlusNat (Succ vyv13) vyv230)) (fromInt (Pos Zero))) vyv12 (Neg (primPlusNat (Succ vyv13) vyv230)) (vyv12 * vyv12)",fontsize=16,color="magenta"];336 -> 343[label="",style="dashed", color="magenta", weight=3]; 336 -> 344[label="",style="dashed", color="magenta", weight=3]; 337[label="pr2F3 (primEqInt (primMinusNat vyv230 (Succ vyv13)) (fromInt (Pos Zero))) vyv12 (primMinusNat vyv230 (Succ vyv13)) (vyv12 * vyv12)",fontsize=16,color="burlywood",shape="box"];7407[label="vyv230/Succ vyv2300",fontsize=10,color="white",style="solid",shape="box"];337 -> 7407[label="",style="solid", color="burlywood", weight=9]; 7407 -> 347[label="",style="solid", color="burlywood", weight=3]; 7408[label="vyv230/Zero",fontsize=10,color="white",style="solid",shape="box"];337 -> 7408[label="",style="solid", color="burlywood", weight=9]; 7408 -> 348[label="",style="solid", color="burlywood", weight=3]; 398[label="pr2F3 (primEqInt (primMinusNat (Succ vyv23000) (Succ vyv130)) (fromInt (Pos Zero))) vyv12 (primMinusNat (Succ vyv23000) (Succ vyv130)) (vyv12 * vyv12)",fontsize=16,color="black",shape="box"];398 -> 412[label="",style="solid", color="black", weight=3]; 399[label="pr2F3 (primEqInt (primMinusNat (Succ vyv23000) Zero) (fromInt (Pos Zero))) vyv12 (primMinusNat (Succ vyv23000) Zero) (vyv12 * vyv12)",fontsize=16,color="black",shape="box"];399 -> 413[label="",style="solid", color="black", weight=3]; 400[label="pr2F3 (primEqInt (primMinusNat Zero (Succ vyv130)) (fromInt (Pos Zero))) vyv12 (primMinusNat Zero (Succ vyv130)) (vyv12 * vyv12)",fontsize=16,color="black",shape="box"];400 -> 414[label="",style="solid", color="black", weight=3]; 401[label="pr2F3 (primEqInt (primMinusNat Zero Zero) (fromInt (Pos Zero))) vyv12 (primMinusNat Zero Zero) (vyv12 * vyv12)",fontsize=16,color="black",shape="box"];401 -> 415[label="",style="solid", color="black", weight=3]; 410[label="pr2F3 (primEqInt (Pos (Succ vyv280)) (Pos Zero)) vyv20 (Pos vyv27) (vyv20 * vyv20)",fontsize=16,color="black",shape="box"];410 -> 428[label="",style="solid", color="black", weight=3]; 411[label="pr2F3 (primEqInt (Pos Zero) (Pos Zero)) vyv20 (Pos vyv27) (vyv20 * vyv20)",fontsize=16,color="black",shape="box"];411 -> 429[label="",style="solid", color="black", weight=3]; 3874[label="primQuotInt (Pos vyv2930) (Pos (Succ vyv32700))",fontsize=16,color="black",shape="box"];3874 -> 3914[label="",style="solid", color="black", weight=3]; 3875[label="primQuotInt (Pos vyv2930) (Pos Zero)",fontsize=16,color="black",shape="box"];3875 -> 3915[label="",style="solid", color="black", weight=3]; 3876[label="primQuotInt (Pos vyv2930) (Neg (Succ vyv32700))",fontsize=16,color="black",shape="box"];3876 -> 3916[label="",style="solid", color="black", weight=3]; 3877[label="primQuotInt (Pos vyv2930) (Neg Zero)",fontsize=16,color="black",shape="box"];3877 -> 3917[label="",style="solid", color="black", weight=3]; 3065[label="vyv2220",fontsize=16,color="green",shape="box"];3032[label="primDivNatS vyv2220 (Succ (Succ Zero))",fontsize=16,color="burlywood",shape="triangle"];7409[label="vyv2220/Succ vyv22200",fontsize=10,color="white",style="solid",shape="box"];3032 -> 7409[label="",style="solid", color="burlywood", weight=9]; 7409 -> 3063[label="",style="solid", color="burlywood", weight=3]; 7410[label="vyv2220/Zero",fontsize=10,color="white",style="solid",shape="box"];3032 -> 7410[label="",style="solid", color="burlywood", weight=9]; 7410 -> 3064[label="",style="solid", color="burlywood", weight=3]; 3484[label="vyv272000",fontsize=16,color="green",shape="box"];3870[label="primQuotInt vyv2960 vyv3250",fontsize=16,color="burlywood",shape="triangle"];7411[label="vyv2960/Pos vyv29600",fontsize=10,color="white",style="solid",shape="box"];3870 -> 7411[label="",style="solid", color="burlywood", weight=9]; 7411 -> 3878[label="",style="solid", color="burlywood", weight=3]; 7412[label="vyv2960/Neg vyv29600",fontsize=10,color="white",style="solid",shape="box"];3870 -> 7412[label="",style="solid", color="burlywood", weight=9]; 7412 -> 3879[label="",style="solid", color="burlywood", weight=3]; 3004 -> 3039[label="",style="dashed", color="red", weight=0]; 3004[label="vyv222 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];3004 -> 3040[label="",style="dashed", color="magenta", weight=3]; 3004 -> 3041[label="",style="dashed", color="magenta", weight=3]; 554[label="vyv37 == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];554 -> 636[label="",style="solid", color="black", weight=3]; 3005 -> 3054[label="",style="dashed", color="red", weight=0]; 3005[label="vyv222 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];3005 -> 3055[label="",style="dashed", color="magenta", weight=3]; 3005 -> 3056[label="",style="dashed", color="magenta", weight=3]; 2947[label="vyv233 == fromInt (Pos Zero)",fontsize=16,color="burlywood",shape="triangle"];7413[label="vyv233/Integer vyv2330",fontsize=10,color="white",style="solid",shape="box"];2947 -> 7413[label="",style="solid", color="burlywood", weight=9]; 7413 -> 2969[label="",style="solid", color="burlywood", weight=3]; 3006[label="pr2F0 (vyv241 * vyv241) (vyv242 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))) (vyv241 * vyv241 * vyv243)",fontsize=16,color="black",shape="box"];3006 -> 3057[label="",style="solid", color="black", weight=3]; 3007[label="vyv241 * vyv241 * vyv243",fontsize=16,color="blue",shape="box"];7414[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3007 -> 7414[label="",style="solid", color="blue", weight=9]; 7414 -> 3058[label="",style="solid", color="blue", weight=3]; 7415[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3007 -> 7415[label="",style="solid", color="blue", weight=9]; 7415 -> 3059[label="",style="solid", color="blue", weight=3]; 7416[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3007 -> 7416[label="",style="solid", color="blue", weight=9]; 7416 -> 3060[label="",style="solid", color="blue", weight=3]; 7417[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3007 -> 7417[label="",style="solid", color="blue", weight=9]; 7417 -> 3061[label="",style="solid", color="blue", weight=3]; 7418[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3007 -> 7418[label="",style="solid", color="blue", weight=9]; 7418 -> 3062[label="",style="solid", color="blue", weight=3]; 2854[label="primMulFloat (Float vyv120 vyv121) (Float vyv2140 vyv2141)",fontsize=16,color="black",shape="box"];2854 -> 2877[label="",style="solid", color="black", weight=3]; 2876[label="primMulDouble (Double vyv120 vyv121) (Double vyv2240 vyv2241)",fontsize=16,color="black",shape="box"];2876 -> 2896[label="",style="solid", color="black", weight=3]; 2892[label="primMulInt (Pos vyv120) (Pos vyv2250)",fontsize=16,color="black",shape="box"];2892 -> 2937[label="",style="solid", color="black", weight=3]; 2893[label="primMulInt (Pos vyv120) (Neg vyv2250)",fontsize=16,color="black",shape="box"];2893 -> 2938[label="",style="solid", color="black", weight=3]; 2894[label="primMulInt (Neg vyv120) (Pos vyv2250)",fontsize=16,color="black",shape="box"];2894 -> 2939[label="",style="solid", color="black", weight=3]; 2895[label="primMulInt (Neg vyv120) (Neg vyv2250)",fontsize=16,color="black",shape="box"];2895 -> 2940[label="",style="solid", color="black", weight=3]; 2858 -> 3298[label="",style="dashed", color="red", weight=0]; 2858[label="reduce2Reduce1 (vyv200 * vyv200) (vyv201 * vyv201) (vyv200 * vyv200) (vyv201 * vyv201) (vyv201 * vyv201 == fromInt (Pos Zero))",fontsize=16,color="magenta"];2858 -> 3304[label="",style="dashed", color="magenta", weight=3]; 2858 -> 3305[label="",style="dashed", color="magenta", weight=3]; 2858 -> 3306[label="",style="dashed", color="magenta", weight=3]; 2858 -> 3307[label="",style="dashed", color="magenta", weight=3]; 2858 -> 3308[label="",style="dashed", color="magenta", weight=3]; 343 -> 94[label="",style="dashed", color="red", weight=0]; 343[label="primPlusNat (Succ vyv13) vyv230",fontsize=16,color="magenta"];343 -> 352[label="",style="dashed", color="magenta", weight=3]; 343 -> 353[label="",style="dashed", color="magenta", weight=3]; 344 -> 94[label="",style="dashed", color="red", weight=0]; 344[label="primPlusNat (Succ vyv13) vyv230",fontsize=16,color="magenta"];344 -> 354[label="",style="dashed", color="magenta", weight=3]; 344 -> 355[label="",style="dashed", color="magenta", weight=3]; 342[label="pr2F3 (primEqInt (Neg vyv26) (fromInt (Pos Zero))) vyv12 (Neg vyv25) (vyv12 * vyv12)",fontsize=16,color="burlywood",shape="triangle"];7419[label="vyv26/Succ vyv260",fontsize=10,color="white",style="solid",shape="box"];342 -> 7419[label="",style="solid", color="burlywood", weight=9]; 7419 -> 356[label="",style="solid", color="burlywood", weight=3]; 7420[label="vyv26/Zero",fontsize=10,color="white",style="solid",shape="box"];342 -> 7420[label="",style="solid", color="burlywood", weight=9]; 7420 -> 357[label="",style="solid", color="burlywood", weight=3]; 347[label="pr2F3 (primEqInt (primMinusNat (Succ vyv2300) (Succ vyv13)) (fromInt (Pos Zero))) vyv12 (primMinusNat (Succ vyv2300) (Succ vyv13)) (vyv12 * vyv12)",fontsize=16,color="black",shape="box"];347 -> 361[label="",style="solid", color="black", weight=3]; 348[label="pr2F3 (primEqInt (primMinusNat Zero (Succ vyv13)) (fromInt (Pos Zero))) vyv12 (primMinusNat Zero (Succ vyv13)) (vyv12 * vyv12)",fontsize=16,color="black",shape="box"];348 -> 362[label="",style="solid", color="black", weight=3]; 412 -> 361[label="",style="dashed", color="red", weight=0]; 412[label="pr2F3 (primEqInt (primMinusNat vyv23000 vyv130) (fromInt (Pos Zero))) vyv12 (primMinusNat vyv23000 vyv130) (vyv12 * vyv12)",fontsize=16,color="magenta"];412 -> 430[label="",style="dashed", color="magenta", weight=3]; 412 -> 431[label="",style="dashed", color="magenta", weight=3]; 413 -> 386[label="",style="dashed", color="red", weight=0]; 413[label="pr2F3 (primEqInt (Pos (Succ vyv23000)) (fromInt (Pos Zero))) vyv12 (Pos (Succ vyv23000)) (vyv12 * vyv12)",fontsize=16,color="magenta"];413 -> 432[label="",style="dashed", color="magenta", weight=3]; 413 -> 433[label="",style="dashed", color="magenta", weight=3]; 413 -> 434[label="",style="dashed", color="magenta", weight=3]; 414 -> 342[label="",style="dashed", color="red", weight=0]; 414[label="pr2F3 (primEqInt (Neg (Succ vyv130)) (fromInt (Pos Zero))) vyv12 (Neg (Succ vyv130)) (vyv12 * vyv12)",fontsize=16,color="magenta"];414 -> 435[label="",style="dashed", color="magenta", weight=3]; 414 -> 436[label="",style="dashed", color="magenta", weight=3]; 415 -> 386[label="",style="dashed", color="red", weight=0]; 415[label="pr2F3 (primEqInt (Pos Zero) (fromInt (Pos Zero))) vyv12 (Pos Zero) (vyv12 * vyv12)",fontsize=16,color="magenta"];415 -> 437[label="",style="dashed", color="magenta", weight=3]; 415 -> 438[label="",style="dashed", color="magenta", weight=3]; 415 -> 439[label="",style="dashed", color="magenta", weight=3]; 428[label="pr2F3 False vyv20 (Pos vyv27) (vyv20 * vyv20)",fontsize=16,color="black",shape="box"];428 -> 452[label="",style="solid", color="black", weight=3]; 429[label="pr2F3 True vyv20 (Pos vyv27) (vyv20 * vyv20)",fontsize=16,color="black",shape="box"];429 -> 453[label="",style="solid", color="black", weight=3]; 3914[label="Pos (primDivNatS vyv2930 (Succ vyv32700))",fontsize=16,color="green",shape="box"];3914 -> 3924[label="",style="dashed", color="green", weight=3]; 3915 -> 65[label="",style="dashed", color="red", weight=0]; 3915[label="error []",fontsize=16,color="magenta"];3916[label="Neg (primDivNatS vyv2930 (Succ vyv32700))",fontsize=16,color="green",shape="box"];3916 -> 3925[label="",style="dashed", color="green", weight=3]; 3917 -> 65[label="",style="dashed", color="red", weight=0]; 3917[label="error []",fontsize=16,color="magenta"];3063[label="primDivNatS (Succ vyv22200) (Succ (Succ Zero))",fontsize=16,color="black",shape="box"];3063 -> 3200[label="",style="solid", color="black", weight=3]; 3064[label="primDivNatS Zero (Succ (Succ Zero))",fontsize=16,color="black",shape="box"];3064 -> 3201[label="",style="solid", color="black", weight=3]; 3878[label="primQuotInt (Pos vyv29600) vyv3250",fontsize=16,color="burlywood",shape="box"];7421[label="vyv3250/Pos vyv32500",fontsize=10,color="white",style="solid",shape="box"];3878 -> 7421[label="",style="solid", color="burlywood", weight=9]; 7421 -> 3918[label="",style="solid", color="burlywood", weight=3]; 7422[label="vyv3250/Neg vyv32500",fontsize=10,color="white",style="solid",shape="box"];3878 -> 7422[label="",style="solid", color="burlywood", weight=9]; 7422 -> 3919[label="",style="solid", color="burlywood", weight=3]; 3879[label="primQuotInt (Neg vyv29600) vyv3250",fontsize=16,color="burlywood",shape="box"];7423[label="vyv3250/Pos vyv32500",fontsize=10,color="white",style="solid",shape="box"];3879 -> 7423[label="",style="solid", color="burlywood", weight=9]; 7423 -> 3920[label="",style="solid", color="burlywood", weight=3]; 7424[label="vyv3250/Neg vyv32500",fontsize=10,color="white",style="solid",shape="box"];3879 -> 7424[label="",style="solid", color="burlywood", weight=9]; 7424 -> 3921[label="",style="solid", color="burlywood", weight=3]; 3040 -> 29[label="",style="dashed", color="red", weight=0]; 3040[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];3041 -> 2890[label="",style="dashed", color="red", weight=0]; 3041[label="vyv222 `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];3039[label="vyv246 - vyv245",fontsize=16,color="black",shape="triangle"];3039 -> 3070[label="",style="solid", color="black", weight=3]; 636[label="primEqInt vyv37 (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];7425[label="vyv37/Pos vyv370",fontsize=10,color="white",style="solid",shape="box"];636 -> 7425[label="",style="solid", color="burlywood", weight=9]; 7425 -> 661[label="",style="solid", color="burlywood", weight=3]; 7426[label="vyv37/Neg vyv370",fontsize=10,color="white",style="solid",shape="box"];636 -> 7426[label="",style="solid", color="burlywood", weight=9]; 7426 -> 662[label="",style="solid", color="burlywood", weight=3]; 3055 -> 30[label="",style="dashed", color="red", weight=0]; 3055[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];3056 -> 2891[label="",style="dashed", color="red", weight=0]; 3056[label="vyv222 `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];3054[label="vyv248 - vyv247",fontsize=16,color="black",shape="triangle"];3054 -> 3071[label="",style="solid", color="black", weight=3]; 2969[label="Integer vyv2330 == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];2969 -> 2996[label="",style="solid", color="black", weight=3]; 3057[label="pr2F0G (vyv241 * vyv241 * vyv243) (vyv241 * vyv241) (vyv242 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];3057 -> 3094[label="",style="solid", color="black", weight=3]; 3058[label="vyv241 * vyv241 * vyv243",fontsize=16,color="black",shape="triangle"];3058 -> 5141[label="",style="solid", color="black", weight=3]; 3059[label="vyv241 * vyv241 * vyv243",fontsize=16,color="black",shape="triangle"];3059 -> 5142[label="",style="solid", color="black", weight=3]; 3060[label="vyv241 * vyv241 * vyv243",fontsize=16,color="black",shape="box"];3060 -> 5143[label="",style="solid", color="black", weight=3]; 3061[label="vyv241 * vyv241 * vyv243",fontsize=16,color="burlywood",shape="triangle"];7427[label="vyv241/Integer vyv2410",fontsize=10,color="white",style="solid",shape="box"];3061 -> 7427[label="",style="solid", color="burlywood", weight=9]; 7427 -> 5144[label="",style="solid", color="burlywood", weight=3]; 3062[label="vyv241 * vyv241 * vyv243",fontsize=16,color="burlywood",shape="triangle"];7428[label="vyv241/vyv2410 :% vyv2411",fontsize=10,color="white",style="solid",shape="box"];3062 -> 7428[label="",style="solid", color="burlywood", weight=9]; 7428 -> 5145[label="",style="solid", color="burlywood", weight=3]; 2877[label="Float (vyv120 * vyv2140) (vyv121 * vyv2141)",fontsize=16,color="green",shape="box"];2877 -> 2897[label="",style="dashed", color="green", weight=3]; 2877 -> 2898[label="",style="dashed", color="green", weight=3]; 2896[label="Double (vyv120 * vyv2240) (vyv121 * vyv2241)",fontsize=16,color="green",shape="box"];2896 -> 2941[label="",style="dashed", color="green", weight=3]; 2896 -> 2942[label="",style="dashed", color="green", weight=3]; 2937[label="Pos (primMulNat vyv120 vyv2250)",fontsize=16,color="green",shape="box"];2937 -> 2955[label="",style="dashed", color="green", weight=3]; 2938[label="Neg (primMulNat vyv120 vyv2250)",fontsize=16,color="green",shape="box"];2938 -> 2956[label="",style="dashed", color="green", weight=3]; 2939[label="Neg (primMulNat vyv120 vyv2250)",fontsize=16,color="green",shape="box"];2939 -> 2957[label="",style="dashed", color="green", weight=3]; 2940[label="Pos (primMulNat vyv120 vyv2250)",fontsize=16,color="green",shape="box"];2940 -> 2958[label="",style="dashed", color="green", weight=3]; 3304[label="vyv201",fontsize=16,color="green",shape="box"];3305[label="vyv201",fontsize=16,color="green",shape="box"];3306[label="vyv200",fontsize=16,color="green",shape="box"];3307[label="vyv201 * vyv201 == fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];7429[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];3307 -> 7429[label="",style="solid", color="blue", weight=9]; 7429 -> 3349[label="",style="solid", color="blue", weight=3]; 7430[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];3307 -> 7430[label="",style="solid", color="blue", weight=9]; 7430 -> 3350[label="",style="solid", color="blue", weight=3]; 3308[label="vyv200",fontsize=16,color="green",shape="box"];3298[label="reduce2Reduce1 (vyv281 * vyv282) (vyv283 * vyv284) (vyv281 * vyv282) (vyv283 * vyv284) vyv285",fontsize=16,color="burlywood",shape="triangle"];7431[label="vyv285/False",fontsize=10,color="white",style="solid",shape="box"];3298 -> 7431[label="",style="solid", color="burlywood", weight=9]; 7431 -> 3318[label="",style="solid", color="burlywood", weight=3]; 7432[label="vyv285/True",fontsize=10,color="white",style="solid",shape="box"];3298 -> 7432[label="",style="solid", color="burlywood", weight=9]; 7432 -> 3319[label="",style="solid", color="burlywood", weight=3]; 352[label="Succ vyv13",fontsize=16,color="green",shape="box"];353[label="vyv230",fontsize=16,color="green",shape="box"];354[label="Succ vyv13",fontsize=16,color="green",shape="box"];355[label="vyv230",fontsize=16,color="green",shape="box"];356[label="pr2F3 (primEqInt (Neg (Succ vyv260)) (fromInt (Pos Zero))) vyv12 (Neg vyv25) (vyv12 * vyv12)",fontsize=16,color="black",shape="box"];356 -> 366[label="",style="solid", color="black", weight=3]; 357[label="pr2F3 (primEqInt (Neg Zero) (fromInt (Pos Zero))) vyv12 (Neg vyv25) (vyv12 * vyv12)",fontsize=16,color="black",shape="box"];357 -> 367[label="",style="solid", color="black", weight=3]; 362 -> 342[label="",style="dashed", color="red", weight=0]; 362[label="pr2F3 (primEqInt (Neg (Succ vyv13)) (fromInt (Pos Zero))) vyv12 (Neg (Succ vyv13)) (vyv12 * vyv12)",fontsize=16,color="magenta"];362 -> 374[label="",style="dashed", color="magenta", weight=3]; 362 -> 375[label="",style="dashed", color="magenta", weight=3]; 430[label="vyv130",fontsize=16,color="green",shape="box"];431[label="vyv23000",fontsize=16,color="green",shape="box"];432[label="vyv12",fontsize=16,color="green",shape="box"];433[label="Succ vyv23000",fontsize=16,color="green",shape="box"];434[label="Succ vyv23000",fontsize=16,color="green",shape="box"];435[label="Succ vyv130",fontsize=16,color="green",shape="box"];436[label="Succ vyv130",fontsize=16,color="green",shape="box"];437[label="vyv12",fontsize=16,color="green",shape="box"];438[label="Zero",fontsize=16,color="green",shape="box"];439[label="Zero",fontsize=16,color="green",shape="box"];452[label="pr2F0 vyv20 (Pos vyv27) (vyv20 * vyv20)",fontsize=16,color="black",shape="box"];452 -> 468[label="",style="solid", color="black", weight=3]; 453[label="vyv20 * vyv20",fontsize=16,color="blue",shape="box"];7433[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];453 -> 7433[label="",style="solid", color="blue", weight=9]; 7433 -> 469[label="",style="solid", color="blue", weight=3]; 7434[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];453 -> 7434[label="",style="solid", color="blue", weight=9]; 7434 -> 470[label="",style="solid", color="blue", weight=3]; 7435[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];453 -> 7435[label="",style="solid", color="blue", weight=9]; 7435 -> 471[label="",style="solid", color="blue", weight=3]; 7436[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];453 -> 7436[label="",style="solid", color="blue", weight=9]; 7436 -> 472[label="",style="solid", color="blue", weight=3]; 7437[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];453 -> 7437[label="",style="solid", color="blue", weight=9]; 7437 -> 473[label="",style="solid", color="blue", weight=3]; 3924[label="primDivNatS vyv2930 (Succ vyv32700)",fontsize=16,color="burlywood",shape="triangle"];7438[label="vyv2930/Succ vyv29300",fontsize=10,color="white",style="solid",shape="box"];3924 -> 7438[label="",style="solid", color="burlywood", weight=9]; 7438 -> 3941[label="",style="solid", color="burlywood", weight=3]; 7439[label="vyv2930/Zero",fontsize=10,color="white",style="solid",shape="box"];3924 -> 7439[label="",style="solid", color="burlywood", weight=9]; 7439 -> 3942[label="",style="solid", color="burlywood", weight=3]; 3925 -> 3924[label="",style="dashed", color="red", weight=0]; 3925[label="primDivNatS vyv2930 (Succ vyv32700)",fontsize=16,color="magenta"];3925 -> 3943[label="",style="dashed", color="magenta", weight=3]; 3200[label="primDivNatS0 vyv22200 (Succ Zero) (primGEqNatS vyv22200 (Succ Zero))",fontsize=16,color="burlywood",shape="box"];7440[label="vyv22200/Succ vyv222000",fontsize=10,color="white",style="solid",shape="box"];3200 -> 7440[label="",style="solid", color="burlywood", weight=9]; 7440 -> 3239[label="",style="solid", color="burlywood", weight=3]; 7441[label="vyv22200/Zero",fontsize=10,color="white",style="solid",shape="box"];3200 -> 7441[label="",style="solid", color="burlywood", weight=9]; 7441 -> 3240[label="",style="solid", color="burlywood", weight=3]; 3201[label="Zero",fontsize=16,color="green",shape="box"];3918[label="primQuotInt (Pos vyv29600) (Pos vyv32500)",fontsize=16,color="burlywood",shape="box"];7442[label="vyv32500/Succ vyv325000",fontsize=10,color="white",style="solid",shape="box"];3918 -> 7442[label="",style="solid", color="burlywood", weight=9]; 7442 -> 3926[label="",style="solid", color="burlywood", weight=3]; 7443[label="vyv32500/Zero",fontsize=10,color="white",style="solid",shape="box"];3918 -> 7443[label="",style="solid", color="burlywood", weight=9]; 7443 -> 3927[label="",style="solid", color="burlywood", weight=3]; 3919[label="primQuotInt (Pos vyv29600) (Neg vyv32500)",fontsize=16,color="burlywood",shape="box"];7444[label="vyv32500/Succ vyv325000",fontsize=10,color="white",style="solid",shape="box"];3919 -> 7444[label="",style="solid", color="burlywood", weight=9]; 7444 -> 3928[label="",style="solid", color="burlywood", weight=3]; 7445[label="vyv32500/Zero",fontsize=10,color="white",style="solid",shape="box"];3919 -> 7445[label="",style="solid", color="burlywood", weight=9]; 7445 -> 3929[label="",style="solid", color="burlywood", weight=3]; 3920[label="primQuotInt (Neg vyv29600) (Pos vyv32500)",fontsize=16,color="burlywood",shape="box"];7446[label="vyv32500/Succ vyv325000",fontsize=10,color="white",style="solid",shape="box"];3920 -> 7446[label="",style="solid", color="burlywood", weight=9]; 7446 -> 3930[label="",style="solid", color="burlywood", weight=3]; 7447[label="vyv32500/Zero",fontsize=10,color="white",style="solid",shape="box"];3920 -> 7447[label="",style="solid", color="burlywood", weight=9]; 7447 -> 3931[label="",style="solid", color="burlywood", weight=3]; 3921[label="primQuotInt (Neg vyv29600) (Neg vyv32500)",fontsize=16,color="burlywood",shape="box"];7448[label="vyv32500/Succ vyv325000",fontsize=10,color="white",style="solid",shape="box"];3921 -> 7448[label="",style="solid", color="burlywood", weight=9]; 7448 -> 3932[label="",style="solid", color="burlywood", weight=3]; 7449[label="vyv32500/Zero",fontsize=10,color="white",style="solid",shape="box"];3921 -> 7449[label="",style="solid", color="burlywood", weight=9]; 7449 -> 3933[label="",style="solid", color="burlywood", weight=3]; 3070[label="primMinusInt vyv246 vyv245",fontsize=16,color="burlywood",shape="box"];7450[label="vyv246/Pos vyv2460",fontsize=10,color="white",style="solid",shape="box"];3070 -> 7450[label="",style="solid", color="burlywood", weight=9]; 7450 -> 3207[label="",style="solid", color="burlywood", weight=3]; 7451[label="vyv246/Neg vyv2460",fontsize=10,color="white",style="solid",shape="box"];3070 -> 7451[label="",style="solid", color="burlywood", weight=9]; 7451 -> 3208[label="",style="solid", color="burlywood", weight=3]; 661[label="primEqInt (Pos vyv370) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];7452[label="vyv370/Succ vyv3700",fontsize=10,color="white",style="solid",shape="box"];661 -> 7452[label="",style="solid", color="burlywood", weight=9]; 7452 -> 719[label="",style="solid", color="burlywood", weight=3]; 7453[label="vyv370/Zero",fontsize=10,color="white",style="solid",shape="box"];661 -> 7453[label="",style="solid", color="burlywood", weight=9]; 7453 -> 720[label="",style="solid", color="burlywood", weight=3]; 662[label="primEqInt (Neg vyv370) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];7454[label="vyv370/Succ vyv3700",fontsize=10,color="white",style="solid",shape="box"];662 -> 7454[label="",style="solid", color="burlywood", weight=9]; 7454 -> 721[label="",style="solid", color="burlywood", weight=3]; 7455[label="vyv370/Zero",fontsize=10,color="white",style="solid",shape="box"];662 -> 7455[label="",style="solid", color="burlywood", weight=9]; 7455 -> 722[label="",style="solid", color="burlywood", weight=3]; 3071[label="error []",fontsize=16,color="red",shape="box"];2996[label="Integer vyv2330 == Integer (Pos Zero)",fontsize=16,color="black",shape="box"];2996 -> 3013[label="",style="solid", color="black", weight=3]; 3094[label="pr2F0G2 (vyv241 * vyv241 * vyv243) (vyv241 * vyv241) (vyv242 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];3094 -> 3209[label="",style="solid", color="black", weight=3]; 5141 -> 2821[label="",style="dashed", color="red", weight=0]; 5141[label="primMulFloat (vyv241 * vyv241) vyv243",fontsize=16,color="magenta"];5141 -> 5216[label="",style="dashed", color="magenta", weight=3]; 5141 -> 5217[label="",style="dashed", color="magenta", weight=3]; 5142 -> 2844[label="",style="dashed", color="red", weight=0]; 5142[label="primMulDouble (vyv241 * vyv241) vyv243",fontsize=16,color="magenta"];5142 -> 5218[label="",style="dashed", color="magenta", weight=3]; 5142 -> 5219[label="",style="dashed", color="magenta", weight=3]; 5143 -> 2860[label="",style="dashed", color="red", weight=0]; 5143[label="primMulInt (vyv241 * vyv241) vyv243",fontsize=16,color="magenta"];5143 -> 5220[label="",style="dashed", color="magenta", weight=3]; 5143 -> 5221[label="",style="dashed", color="magenta", weight=3]; 5144[label="Integer vyv2410 * Integer vyv2410 * vyv243",fontsize=16,color="black",shape="box"];5144 -> 5222[label="",style="solid", color="black", weight=3]; 5145[label="vyv2410 :% vyv2411 * (vyv2410 :% vyv2411) * vyv243",fontsize=16,color="black",shape="box"];5145 -> 5223[label="",style="solid", color="black", weight=3]; 2897[label="vyv120 * vyv2140",fontsize=16,color="black",shape="triangle"];2897 -> 5156[label="",style="solid", color="black", weight=3]; 2898[label="vyv121 * vyv2141",fontsize=16,color="black",shape="box"];2898 -> 5157[label="",style="solid", color="black", weight=3]; 2941[label="vyv120 * vyv2240",fontsize=16,color="black",shape="box"];2941 -> 5158[label="",style="solid", color="black", weight=3]; 2942[label="vyv121 * vyv2241",fontsize=16,color="black",shape="box"];2942 -> 5159[label="",style="solid", color="black", weight=3]; 2955[label="primMulNat vyv120 vyv2250",fontsize=16,color="burlywood",shape="triangle"];7456[label="vyv120/Succ vyv1200",fontsize=10,color="white",style="solid",shape="box"];2955 -> 7456[label="",style="solid", color="burlywood", weight=9]; 7456 -> 2989[label="",style="solid", color="burlywood", weight=3]; 7457[label="vyv120/Zero",fontsize=10,color="white",style="solid",shape="box"];2955 -> 7457[label="",style="solid", color="burlywood", weight=9]; 7457 -> 2990[label="",style="solid", color="burlywood", weight=3]; 2956 -> 2955[label="",style="dashed", color="red", weight=0]; 2956[label="primMulNat vyv120 vyv2250",fontsize=16,color="magenta"];2956 -> 2991[label="",style="dashed", color="magenta", weight=3]; 2957 -> 2955[label="",style="dashed", color="red", weight=0]; 2957[label="primMulNat vyv120 vyv2250",fontsize=16,color="magenta"];2957 -> 2992[label="",style="dashed", color="magenta", weight=3]; 2958 -> 2955[label="",style="dashed", color="red", weight=0]; 2958[label="primMulNat vyv120 vyv2250",fontsize=16,color="magenta"];2958 -> 2993[label="",style="dashed", color="magenta", weight=3]; 2958 -> 2994[label="",style="dashed", color="magenta", weight=3]; 3349 -> 554[label="",style="dashed", color="red", weight=0]; 3349[label="vyv201 * vyv201 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3349 -> 3388[label="",style="dashed", color="magenta", weight=3]; 3350 -> 2947[label="",style="dashed", color="red", weight=0]; 3350[label="vyv201 * vyv201 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3350 -> 3389[label="",style="dashed", color="magenta", weight=3]; 3318[label="reduce2Reduce1 (vyv281 * vyv282) (vyv283 * vyv284) (vyv281 * vyv282) (vyv283 * vyv284) False",fontsize=16,color="black",shape="box"];3318 -> 3331[label="",style="solid", color="black", weight=3]; 3319[label="reduce2Reduce1 (vyv281 * vyv282) (vyv283 * vyv284) (vyv281 * vyv282) (vyv283 * vyv284) True",fontsize=16,color="black",shape="box"];3319 -> 3332[label="",style="solid", color="black", weight=3]; 366[label="pr2F3 (primEqInt (Neg (Succ vyv260)) (Pos Zero)) vyv12 (Neg vyv25) (vyv12 * vyv12)",fontsize=16,color="black",shape="box"];366 -> 379[label="",style="solid", color="black", weight=3]; 367[label="pr2F3 (primEqInt (Neg Zero) (Pos Zero)) vyv12 (Neg vyv25) (vyv12 * vyv12)",fontsize=16,color="black",shape="box"];367 -> 380[label="",style="solid", color="black", weight=3]; 374[label="Succ vyv13",fontsize=16,color="green",shape="box"];375[label="Succ vyv13",fontsize=16,color="green",shape="box"];468[label="pr2F0G (vyv20 * vyv20) vyv20 (Pos vyv27)",fontsize=16,color="black",shape="box"];468 -> 488[label="",style="solid", color="black", weight=3]; 469[label="vyv20 * vyv20",fontsize=16,color="black",shape="box"];469 -> 2743[label="",style="solid", color="black", weight=3]; 470[label="vyv20 * vyv20",fontsize=16,color="black",shape="box"];470 -> 2744[label="",style="solid", color="black", weight=3]; 471[label="vyv20 * vyv20",fontsize=16,color="black",shape="box"];471 -> 2745[label="",style="solid", color="black", weight=3]; 472[label="vyv20 * vyv20",fontsize=16,color="burlywood",shape="box"];7458[label="vyv20/Integer vyv200",fontsize=10,color="white",style="solid",shape="box"];472 -> 7458[label="",style="solid", color="burlywood", weight=9]; 7458 -> 2746[label="",style="solid", color="burlywood", weight=3]; 473[label="vyv20 * vyv20",fontsize=16,color="burlywood",shape="box"];7459[label="vyv20/vyv200 :% vyv201",fontsize=10,color="white",style="solid",shape="box"];473 -> 7459[label="",style="solid", color="burlywood", weight=9]; 7459 -> 2747[label="",style="solid", color="burlywood", weight=3]; 3941[label="primDivNatS (Succ vyv29300) (Succ vyv32700)",fontsize=16,color="black",shape="box"];3941 -> 3957[label="",style="solid", color="black", weight=3]; 3942[label="primDivNatS Zero (Succ vyv32700)",fontsize=16,color="black",shape="box"];3942 -> 3958[label="",style="solid", color="black", weight=3]; 3943[label="vyv32700",fontsize=16,color="green",shape="box"];3239[label="primDivNatS0 (Succ vyv222000) (Succ Zero) (primGEqNatS (Succ vyv222000) (Succ Zero))",fontsize=16,color="black",shape="box"];3239 -> 3256[label="",style="solid", color="black", weight=3]; 3240[label="primDivNatS0 Zero (Succ Zero) (primGEqNatS Zero (Succ Zero))",fontsize=16,color="black",shape="box"];3240 -> 3257[label="",style="solid", color="black", weight=3]; 3926[label="primQuotInt (Pos vyv29600) (Pos (Succ vyv325000))",fontsize=16,color="black",shape="box"];3926 -> 3944[label="",style="solid", color="black", weight=3]; 3927[label="primQuotInt (Pos vyv29600) (Pos Zero)",fontsize=16,color="black",shape="box"];3927 -> 3945[label="",style="solid", color="black", weight=3]; 3928[label="primQuotInt (Pos vyv29600) (Neg (Succ vyv325000))",fontsize=16,color="black",shape="box"];3928 -> 3946[label="",style="solid", color="black", weight=3]; 3929[label="primQuotInt (Pos vyv29600) (Neg Zero)",fontsize=16,color="black",shape="box"];3929 -> 3947[label="",style="solid", color="black", weight=3]; 3930[label="primQuotInt (Neg vyv29600) (Pos (Succ vyv325000))",fontsize=16,color="black",shape="box"];3930 -> 3948[label="",style="solid", color="black", weight=3]; 3931[label="primQuotInt (Neg vyv29600) (Pos Zero)",fontsize=16,color="black",shape="box"];3931 -> 3949[label="",style="solid", color="black", weight=3]; 3932[label="primQuotInt (Neg vyv29600) (Neg (Succ vyv325000))",fontsize=16,color="black",shape="box"];3932 -> 3950[label="",style="solid", color="black", weight=3]; 3933[label="primQuotInt (Neg vyv29600) (Neg Zero)",fontsize=16,color="black",shape="box"];3933 -> 3951[label="",style="solid", color="black", weight=3]; 3207[label="primMinusInt (Pos vyv2460) vyv245",fontsize=16,color="burlywood",shape="box"];7460[label="vyv245/Pos vyv2450",fontsize=10,color="white",style="solid",shape="box"];3207 -> 7460[label="",style="solid", color="burlywood", weight=9]; 7460 -> 3245[label="",style="solid", color="burlywood", weight=3]; 7461[label="vyv245/Neg vyv2450",fontsize=10,color="white",style="solid",shape="box"];3207 -> 7461[label="",style="solid", color="burlywood", weight=9]; 7461 -> 3246[label="",style="solid", color="burlywood", weight=3]; 3208[label="primMinusInt (Neg vyv2460) vyv245",fontsize=16,color="burlywood",shape="box"];7462[label="vyv245/Pos vyv2450",fontsize=10,color="white",style="solid",shape="box"];3208 -> 7462[label="",style="solid", color="burlywood", weight=9]; 7462 -> 3247[label="",style="solid", color="burlywood", weight=3]; 7463[label="vyv245/Neg vyv2450",fontsize=10,color="white",style="solid",shape="box"];3208 -> 7463[label="",style="solid", color="burlywood", weight=9]; 7463 -> 3248[label="",style="solid", color="burlywood", weight=3]; 719[label="primEqInt (Pos (Succ vyv3700)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];719 -> 756[label="",style="solid", color="black", weight=3]; 720[label="primEqInt (Pos Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];720 -> 757[label="",style="solid", color="black", weight=3]; 721[label="primEqInt (Neg (Succ vyv3700)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];721 -> 758[label="",style="solid", color="black", weight=3]; 722[label="primEqInt (Neg Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];722 -> 759[label="",style="solid", color="black", weight=3]; 3013 -> 723[label="",style="dashed", color="red", weight=0]; 3013[label="primEqInt vyv2330 (Pos Zero)",fontsize=16,color="magenta"];3013 -> 3072[label="",style="dashed", color="magenta", weight=3]; 3209 -> 3249[label="",style="dashed", color="red", weight=0]; 3209[label="pr2F0G1 (vyv241 * vyv241 * vyv243) (vyv241 * vyv241) (vyv242 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))) (even (vyv242 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))))",fontsize=16,color="magenta"];3209 -> 3250[label="",style="dashed", color="magenta", weight=3]; 3209 -> 3251[label="",style="dashed", color="magenta", weight=3]; 3209 -> 3252[label="",style="dashed", color="magenta", weight=3]; 3209 -> 3253[label="",style="dashed", color="magenta", weight=3]; 5216[label="vyv243",fontsize=16,color="green",shape="box"];5217[label="vyv241 * vyv241",fontsize=16,color="black",shape="box"];5217 -> 6176[label="",style="solid", color="black", weight=3]; 5218[label="vyv241 * vyv241",fontsize=16,color="black",shape="box"];5218 -> 6238[label="",style="solid", color="black", weight=3]; 5219[label="vyv243",fontsize=16,color="green",shape="box"];5220[label="vyv243",fontsize=16,color="green",shape="box"];5221[label="vyv241 * vyv241",fontsize=16,color="black",shape="box"];5221 -> 6208[label="",style="solid", color="black", weight=3]; 5222[label="Integer (primMulInt vyv2410 vyv2410) * vyv243",fontsize=16,color="burlywood",shape="box"];7464[label="vyv243/Integer vyv2430",fontsize=10,color="white",style="solid",shape="box"];5222 -> 7464[label="",style="solid", color="burlywood", weight=9]; 7464 -> 6177[label="",style="solid", color="burlywood", weight=3]; 5223[label="reduce (vyv2410 * vyv2410) (vyv2411 * vyv2411) * vyv243",fontsize=16,color="black",shape="triangle"];5223 -> 6197[label="",style="solid", color="black", weight=3]; 5156 -> 2860[label="",style="dashed", color="red", weight=0]; 5156[label="primMulInt vyv120 vyv2140",fontsize=16,color="magenta"];5156 -> 5237[label="",style="dashed", color="magenta", weight=3]; 5156 -> 5238[label="",style="dashed", color="magenta", weight=3]; 5157 -> 2860[label="",style="dashed", color="red", weight=0]; 5157[label="primMulInt vyv121 vyv2141",fontsize=16,color="magenta"];5157 -> 5239[label="",style="dashed", color="magenta", weight=3]; 5157 -> 5240[label="",style="dashed", color="magenta", weight=3]; 5158 -> 2860[label="",style="dashed", color="red", weight=0]; 5158[label="primMulInt vyv120 vyv2240",fontsize=16,color="magenta"];5158 -> 5241[label="",style="dashed", color="magenta", weight=3]; 5158 -> 5242[label="",style="dashed", color="magenta", weight=3]; 5159 -> 2860[label="",style="dashed", color="red", weight=0]; 5159[label="primMulInt vyv121 vyv2241",fontsize=16,color="magenta"];5159 -> 5243[label="",style="dashed", color="magenta", weight=3]; 5159 -> 5244[label="",style="dashed", color="magenta", weight=3]; 2989[label="primMulNat (Succ vyv1200) vyv2250",fontsize=16,color="burlywood",shape="box"];7465[label="vyv2250/Succ vyv22500",fontsize=10,color="white",style="solid",shape="box"];2989 -> 7465[label="",style="solid", color="burlywood", weight=9]; 7465 -> 3008[label="",style="solid", color="burlywood", weight=3]; 7466[label="vyv2250/Zero",fontsize=10,color="white",style="solid",shape="box"];2989 -> 7466[label="",style="solid", color="burlywood", weight=9]; 7466 -> 3009[label="",style="solid", color="burlywood", weight=3]; 2990[label="primMulNat Zero vyv2250",fontsize=16,color="burlywood",shape="box"];7467[label="vyv2250/Succ vyv22500",fontsize=10,color="white",style="solid",shape="box"];2990 -> 7467[label="",style="solid", color="burlywood", weight=9]; 7467 -> 3010[label="",style="solid", color="burlywood", weight=3]; 7468[label="vyv2250/Zero",fontsize=10,color="white",style="solid",shape="box"];2990 -> 7468[label="",style="solid", color="burlywood", weight=9]; 7468 -> 3011[label="",style="solid", color="burlywood", weight=3]; 2991[label="vyv2250",fontsize=16,color="green",shape="box"];2992[label="vyv120",fontsize=16,color="green",shape="box"];2993[label="vyv120",fontsize=16,color="green",shape="box"];2994[label="vyv2250",fontsize=16,color="green",shape="box"];3388[label="vyv201 * vyv201",fontsize=16,color="black",shape="box"];3388 -> 5160[label="",style="solid", color="black", weight=3]; 3389[label="vyv201 * vyv201",fontsize=16,color="burlywood",shape="box"];7469[label="vyv201/Integer vyv2010",fontsize=10,color="white",style="solid",shape="box"];3389 -> 7469[label="",style="solid", color="burlywood", weight=9]; 7469 -> 5161[label="",style="solid", color="burlywood", weight=3]; 3331[label="reduce2Reduce0 (vyv281 * vyv282) (vyv283 * vyv284) (vyv281 * vyv282) (vyv283 * vyv284) otherwise",fontsize=16,color="black",shape="box"];3331 -> 3375[label="",style="solid", color="black", weight=3]; 3332 -> 65[label="",style="dashed", color="red", weight=0]; 3332[label="error []",fontsize=16,color="magenta"];379[label="pr2F3 False vyv12 (Neg vyv25) (vyv12 * vyv12)",fontsize=16,color="black",shape="box"];379 -> 405[label="",style="solid", color="black", weight=3]; 380[label="pr2F3 True vyv12 (Neg vyv25) (vyv12 * vyv12)",fontsize=16,color="black",shape="box"];380 -> 406[label="",style="solid", color="black", weight=3]; 488[label="pr2F0G2 (vyv20 * vyv20) vyv20 (Pos vyv27)",fontsize=16,color="black",shape="box"];488 -> 512[label="",style="solid", color="black", weight=3]; 2746[label="Integer vyv200 * Integer vyv200",fontsize=16,color="black",shape="box"];2746 -> 2799[label="",style="solid", color="black", weight=3]; 2747[label="vyv200 :% vyv201 * (vyv200 :% vyv201)",fontsize=16,color="black",shape="box"];2747 -> 2800[label="",style="solid", color="black", weight=3]; 3957[label="primDivNatS0 vyv29300 vyv32700 (primGEqNatS vyv29300 vyv32700)",fontsize=16,color="burlywood",shape="box"];7470[label="vyv29300/Succ vyv293000",fontsize=10,color="white",style="solid",shape="box"];3957 -> 7470[label="",style="solid", color="burlywood", weight=9]; 7470 -> 3966[label="",style="solid", color="burlywood", weight=3]; 7471[label="vyv29300/Zero",fontsize=10,color="white",style="solid",shape="box"];3957 -> 7471[label="",style="solid", color="burlywood", weight=9]; 7471 -> 3967[label="",style="solid", color="burlywood", weight=3]; 3958[label="Zero",fontsize=16,color="green",shape="box"];3256 -> 6631[label="",style="dashed", color="red", weight=0]; 3256[label="primDivNatS0 (Succ vyv222000) (Succ Zero) (primGEqNatS vyv222000 Zero)",fontsize=16,color="magenta"];3256 -> 6632[label="",style="dashed", color="magenta", weight=3]; 3256 -> 6633[label="",style="dashed", color="magenta", weight=3]; 3256 -> 6634[label="",style="dashed", color="magenta", weight=3]; 3256 -> 6635[label="",style="dashed", color="magenta", weight=3]; 3257[label="primDivNatS0 Zero (Succ Zero) False",fontsize=16,color="black",shape="box"];3257 -> 3282[label="",style="solid", color="black", weight=3]; 3944[label="Pos (primDivNatS vyv29600 (Succ vyv325000))",fontsize=16,color="green",shape="box"];3944 -> 3959[label="",style="dashed", color="green", weight=3]; 3945 -> 65[label="",style="dashed", color="red", weight=0]; 3945[label="error []",fontsize=16,color="magenta"];3946[label="Neg (primDivNatS vyv29600 (Succ vyv325000))",fontsize=16,color="green",shape="box"];3946 -> 3960[label="",style="dashed", color="green", weight=3]; 3947 -> 65[label="",style="dashed", color="red", weight=0]; 3947[label="error []",fontsize=16,color="magenta"];3948[label="Neg (primDivNatS vyv29600 (Succ vyv325000))",fontsize=16,color="green",shape="box"];3948 -> 3961[label="",style="dashed", color="green", weight=3]; 3949 -> 65[label="",style="dashed", color="red", weight=0]; 3949[label="error []",fontsize=16,color="magenta"];3950[label="Pos (primDivNatS vyv29600 (Succ vyv325000))",fontsize=16,color="green",shape="box"];3950 -> 3962[label="",style="dashed", color="green", weight=3]; 3951 -> 65[label="",style="dashed", color="red", weight=0]; 3951[label="error []",fontsize=16,color="magenta"];3245[label="primMinusInt (Pos vyv2460) (Pos vyv2450)",fontsize=16,color="black",shape="box"];3245 -> 3260[label="",style="solid", color="black", weight=3]; 3246[label="primMinusInt (Pos vyv2460) (Neg vyv2450)",fontsize=16,color="black",shape="box"];3246 -> 3261[label="",style="solid", color="black", weight=3]; 3247[label="primMinusInt (Neg vyv2460) (Pos vyv2450)",fontsize=16,color="black",shape="box"];3247 -> 3262[label="",style="solid", color="black", weight=3]; 3248[label="primMinusInt (Neg vyv2460) (Neg vyv2450)",fontsize=16,color="black",shape="box"];3248 -> 3263[label="",style="solid", color="black", weight=3]; 756 -> 723[label="",style="dashed", color="red", weight=0]; 756[label="primEqInt (Pos (Succ vyv3700)) (Pos Zero)",fontsize=16,color="magenta"];756 -> 813[label="",style="dashed", color="magenta", weight=3]; 757 -> 723[label="",style="dashed", color="red", weight=0]; 757[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];757 -> 814[label="",style="dashed", color="magenta", weight=3]; 758 -> 723[label="",style="dashed", color="red", weight=0]; 758[label="primEqInt (Neg (Succ vyv3700)) (Pos Zero)",fontsize=16,color="magenta"];758 -> 815[label="",style="dashed", color="magenta", weight=3]; 759 -> 723[label="",style="dashed", color="red", weight=0]; 759[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];759 -> 816[label="",style="dashed", color="magenta", weight=3]; 3072[label="vyv2330",fontsize=16,color="green",shape="box"];723[label="primEqInt vyv380 (Pos Zero)",fontsize=16,color="burlywood",shape="triangle"];7472[label="vyv380/Pos vyv3800",fontsize=10,color="white",style="solid",shape="box"];723 -> 7472[label="",style="solid", color="burlywood", weight=9]; 7472 -> 760[label="",style="solid", color="burlywood", weight=3]; 7473[label="vyv380/Neg vyv3800",fontsize=10,color="white",style="solid",shape="box"];723 -> 7473[label="",style="solid", color="burlywood", weight=9]; 7473 -> 761[label="",style="solid", color="burlywood", weight=3]; 3250[label="vyv243",fontsize=16,color="green",shape="box"];3251[label="vyv242",fontsize=16,color="green",shape="box"];3252[label="even (vyv242 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero)))",fontsize=16,color="blue",shape="box"];7474[label="even :: Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];3252 -> 7474[label="",style="solid", color="blue", weight=9]; 7474 -> 3264[label="",style="solid", color="blue", weight=3]; 7475[label="even :: Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];3252 -> 7475[label="",style="solid", color="blue", weight=9]; 7475 -> 3265[label="",style="solid", color="blue", weight=3]; 3253[label="vyv241",fontsize=16,color="green",shape="box"];3249[label="pr2F0G1 (vyv264 * vyv264 * vyv265) (vyv264 * vyv264) (vyv266 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))) vyv267",fontsize=16,color="burlywood",shape="triangle"];7476[label="vyv267/False",fontsize=10,color="white",style="solid",shape="box"];3249 -> 7476[label="",style="solid", color="burlywood", weight=9]; 7476 -> 3266[label="",style="solid", color="burlywood", weight=3]; 7477[label="vyv267/True",fontsize=10,color="white",style="solid",shape="box"];3249 -> 7477[label="",style="solid", color="burlywood", weight=9]; 7477 -> 3267[label="",style="solid", color="burlywood", weight=3]; 6176 -> 2743[label="",style="dashed", color="red", weight=0]; 6176[label="primMulFloat vyv241 vyv241",fontsize=16,color="magenta"];6176 -> 6285[label="",style="dashed", color="magenta", weight=3]; 6238 -> 2744[label="",style="dashed", color="red", weight=0]; 6238[label="primMulDouble vyv241 vyv241",fontsize=16,color="magenta"];6238 -> 6286[label="",style="dashed", color="magenta", weight=3]; 6208 -> 2745[label="",style="dashed", color="red", weight=0]; 6208[label="primMulInt vyv241 vyv241",fontsize=16,color="magenta"];6208 -> 6287[label="",style="dashed", color="magenta", weight=3]; 6177[label="Integer (primMulInt vyv2410 vyv2410) * Integer vyv2430",fontsize=16,color="black",shape="box"];6177 -> 6288[label="",style="solid", color="black", weight=3]; 6197 -> 6289[label="",style="dashed", color="red", weight=0]; 6197[label="reduce2 (vyv2410 * vyv2410) (vyv2411 * vyv2411) * vyv243",fontsize=16,color="magenta"];6197 -> 6290[label="",style="dashed", color="magenta", weight=3]; 5237[label="vyv2140",fontsize=16,color="green",shape="box"];5238[label="vyv120",fontsize=16,color="green",shape="box"];5239[label="vyv2141",fontsize=16,color="green",shape="box"];5240[label="vyv121",fontsize=16,color="green",shape="box"];5241[label="vyv2240",fontsize=16,color="green",shape="box"];5242[label="vyv120",fontsize=16,color="green",shape="box"];5243[label="vyv2241",fontsize=16,color="green",shape="box"];5244[label="vyv121",fontsize=16,color="green",shape="box"];3008[label="primMulNat (Succ vyv1200) (Succ vyv22500)",fontsize=16,color="black",shape="box"];3008 -> 3073[label="",style="solid", color="black", weight=3]; 3009[label="primMulNat (Succ vyv1200) Zero",fontsize=16,color="black",shape="box"];3009 -> 3074[label="",style="solid", color="black", weight=3]; 3010[label="primMulNat Zero (Succ vyv22500)",fontsize=16,color="black",shape="box"];3010 -> 3075[label="",style="solid", color="black", weight=3]; 3011[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];3011 -> 3076[label="",style="solid", color="black", weight=3]; 5160 -> 2745[label="",style="dashed", color="red", weight=0]; 5160[label="primMulInt vyv201 vyv201",fontsize=16,color="magenta"];5160 -> 5245[label="",style="dashed", color="magenta", weight=3]; 5161[label="Integer vyv2010 * Integer vyv2010",fontsize=16,color="black",shape="box"];5161 -> 5246[label="",style="solid", color="black", weight=3]; 3375[label="reduce2Reduce0 (vyv281 * vyv282) (vyv283 * vyv284) (vyv281 * vyv282) (vyv283 * vyv284) True",fontsize=16,color="black",shape="box"];3375 -> 3416[label="",style="solid", color="black", weight=3]; 405[label="pr2F0 vyv12 (Neg vyv25) (vyv12 * vyv12)",fontsize=16,color="black",shape="box"];405 -> 419[label="",style="solid", color="black", weight=3]; 406[label="vyv12 * vyv12",fontsize=16,color="blue",shape="box"];7478[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];406 -> 7478[label="",style="solid", color="blue", weight=9]; 7478 -> 420[label="",style="solid", color="blue", weight=3]; 7479[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];406 -> 7479[label="",style="solid", color="blue", weight=9]; 7479 -> 421[label="",style="solid", color="blue", weight=3]; 7480[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];406 -> 7480[label="",style="solid", color="blue", weight=9]; 7480 -> 422[label="",style="solid", color="blue", weight=3]; 7481[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];406 -> 7481[label="",style="solid", color="blue", weight=9]; 7481 -> 423[label="",style="solid", color="blue", weight=3]; 7482[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];406 -> 7482[label="",style="solid", color="blue", weight=9]; 7482 -> 424[label="",style="solid", color="blue", weight=3]; 512[label="pr2F0G1 (vyv20 * vyv20) vyv20 (Pos vyv27) (even (Pos vyv27))",fontsize=16,color="black",shape="box"];512 -> 534[label="",style="solid", color="black", weight=3]; 2799[label="Integer (primMulInt vyv200 vyv200)",fontsize=16,color="green",shape="box"];2799 -> 2839[label="",style="dashed", color="green", weight=3]; 3966[label="primDivNatS0 (Succ vyv293000) vyv32700 (primGEqNatS (Succ vyv293000) vyv32700)",fontsize=16,color="burlywood",shape="box"];7483[label="vyv32700/Succ vyv327000",fontsize=10,color="white",style="solid",shape="box"];3966 -> 7483[label="",style="solid", color="burlywood", weight=9]; 7483 -> 4015[label="",style="solid", color="burlywood", weight=3]; 7484[label="vyv32700/Zero",fontsize=10,color="white",style="solid",shape="box"];3966 -> 7484[label="",style="solid", color="burlywood", weight=9]; 7484 -> 4016[label="",style="solid", color="burlywood", weight=3]; 3967[label="primDivNatS0 Zero vyv32700 (primGEqNatS Zero vyv32700)",fontsize=16,color="burlywood",shape="box"];7485[label="vyv32700/Succ vyv327000",fontsize=10,color="white",style="solid",shape="box"];3967 -> 7485[label="",style="solid", color="burlywood", weight=9]; 7485 -> 4017[label="",style="solid", color="burlywood", weight=3]; 7486[label="vyv32700/Zero",fontsize=10,color="white",style="solid",shape="box"];3967 -> 7486[label="",style="solid", color="burlywood", weight=9]; 7486 -> 4018[label="",style="solid", color="burlywood", weight=3]; 6632[label="vyv222000",fontsize=16,color="green",shape="box"];6633[label="Zero",fontsize=16,color="green",shape="box"];6634[label="Zero",fontsize=16,color="green",shape="box"];6635[label="vyv222000",fontsize=16,color="green",shape="box"];6631[label="primDivNatS0 (Succ vyv400) (Succ vyv401) (primGEqNatS vyv402 vyv403)",fontsize=16,color="burlywood",shape="triangle"];7487[label="vyv402/Succ vyv4020",fontsize=10,color="white",style="solid",shape="box"];6631 -> 7487[label="",style="solid", color="burlywood", weight=9]; 7487 -> 6676[label="",style="solid", color="burlywood", weight=3]; 7488[label="vyv402/Zero",fontsize=10,color="white",style="solid",shape="box"];6631 -> 7488[label="",style="solid", color="burlywood", weight=9]; 7488 -> 6677[label="",style="solid", color="burlywood", weight=3]; 3282[label="Zero",fontsize=16,color="green",shape="box"];3959 -> 3924[label="",style="dashed", color="red", weight=0]; 3959[label="primDivNatS vyv29600 (Succ vyv325000)",fontsize=16,color="magenta"];3959 -> 3968[label="",style="dashed", color="magenta", weight=3]; 3959 -> 3969[label="",style="dashed", color="magenta", weight=3]; 3960 -> 3924[label="",style="dashed", color="red", weight=0]; 3960[label="primDivNatS vyv29600 (Succ vyv325000)",fontsize=16,color="magenta"];3960 -> 3970[label="",style="dashed", color="magenta", weight=3]; 3960 -> 3971[label="",style="dashed", color="magenta", weight=3]; 3961 -> 3924[label="",style="dashed", color="red", weight=0]; 3961[label="primDivNatS vyv29600 (Succ vyv325000)",fontsize=16,color="magenta"];3961 -> 3972[label="",style="dashed", color="magenta", weight=3]; 3961 -> 3973[label="",style="dashed", color="magenta", weight=3]; 3962 -> 3924[label="",style="dashed", color="red", weight=0]; 3962[label="primDivNatS vyv29600 (Succ vyv325000)",fontsize=16,color="magenta"];3962 -> 3974[label="",style="dashed", color="magenta", weight=3]; 3962 -> 3975[label="",style="dashed", color="magenta", weight=3]; 3260[label="primMinusNat vyv2460 vyv2450",fontsize=16,color="burlywood",shape="triangle"];7489[label="vyv2460/Succ vyv24600",fontsize=10,color="white",style="solid",shape="box"];3260 -> 7489[label="",style="solid", color="burlywood", weight=9]; 7489 -> 3287[label="",style="solid", color="burlywood", weight=3]; 7490[label="vyv2460/Zero",fontsize=10,color="white",style="solid",shape="box"];3260 -> 7490[label="",style="solid", color="burlywood", weight=9]; 7490 -> 3288[label="",style="solid", color="burlywood", weight=3]; 3261[label="Pos (primPlusNat vyv2460 vyv2450)",fontsize=16,color="green",shape="box"];3261 -> 3289[label="",style="dashed", color="green", weight=3]; 3262[label="Neg (primPlusNat vyv2460 vyv2450)",fontsize=16,color="green",shape="box"];3262 -> 3290[label="",style="dashed", color="green", weight=3]; 3263 -> 3260[label="",style="dashed", color="red", weight=0]; 3263[label="primMinusNat vyv2450 vyv2460",fontsize=16,color="magenta"];3263 -> 3291[label="",style="dashed", color="magenta", weight=3]; 3263 -> 3292[label="",style="dashed", color="magenta", weight=3]; 813[label="Pos (Succ vyv3700)",fontsize=16,color="green",shape="box"];814[label="Pos Zero",fontsize=16,color="green",shape="box"];815[label="Neg (Succ vyv3700)",fontsize=16,color="green",shape="box"];816[label="Neg Zero",fontsize=16,color="green",shape="box"];760[label="primEqInt (Pos vyv3800) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];7491[label="vyv3800/Succ vyv38000",fontsize=10,color="white",style="solid",shape="box"];760 -> 7491[label="",style="solid", color="burlywood", weight=9]; 7491 -> 817[label="",style="solid", color="burlywood", weight=3]; 7492[label="vyv3800/Zero",fontsize=10,color="white",style="solid",shape="box"];760 -> 7492[label="",style="solid", color="burlywood", weight=9]; 7492 -> 818[label="",style="solid", color="burlywood", weight=3]; 761[label="primEqInt (Neg vyv3800) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];7493[label="vyv3800/Succ vyv38000",fontsize=10,color="white",style="solid",shape="box"];761 -> 7493[label="",style="solid", color="burlywood", weight=9]; 7493 -> 819[label="",style="solid", color="burlywood", weight=3]; 7494[label="vyv3800/Zero",fontsize=10,color="white",style="solid",shape="box"];761 -> 7494[label="",style="solid", color="burlywood", weight=9]; 7494 -> 820[label="",style="solid", color="burlywood", weight=3]; 3264 -> 3293[label="",style="dashed", color="red", weight=0]; 3264[label="even (vyv242 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero)))",fontsize=16,color="magenta"];3264 -> 3295[label="",style="dashed", color="magenta", weight=3]; 3265 -> 3322[label="",style="dashed", color="red", weight=0]; 3265[label="even (vyv242 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero)))",fontsize=16,color="magenta"];3265 -> 3324[label="",style="dashed", color="magenta", weight=3]; 3266[label="pr2F0G1 (vyv264 * vyv264 * vyv265) (vyv264 * vyv264) (vyv266 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];3266 -> 3335[label="",style="solid", color="black", weight=3]; 3267[label="pr2F0G1 (vyv264 * vyv264 * vyv265) (vyv264 * vyv264) (vyv266 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];3267 -> 3336[label="",style="solid", color="black", weight=3]; 6285[label="vyv241",fontsize=16,color="green",shape="box"];6286[label="vyv241",fontsize=16,color="green",shape="box"];6287[label="vyv241",fontsize=16,color="green",shape="box"];6288[label="Integer (primMulInt (primMulInt vyv2410 vyv2410) vyv2430)",fontsize=16,color="green",shape="box"];6288 -> 6329[label="",style="dashed", color="green", weight=3]; 6290 -> 2840[label="",style="dashed", color="red", weight=0]; 6290[label="reduce2 (vyv2410 * vyv2410) (vyv2411 * vyv2411)",fontsize=16,color="magenta"];6290 -> 6330[label="",style="dashed", color="magenta", weight=3]; 6290 -> 6331[label="",style="dashed", color="magenta", weight=3]; 6289[label="vyv388 * vyv243",fontsize=16,color="burlywood",shape="triangle"];7495[label="vyv388/vyv3880 :% vyv3881",fontsize=10,color="white",style="solid",shape="box"];6289 -> 7495[label="",style="solid", color="burlywood", weight=9]; 7495 -> 6332[label="",style="solid", color="burlywood", weight=3]; 3073 -> 94[label="",style="dashed", color="red", weight=0]; 3073[label="primPlusNat (primMulNat vyv1200 (Succ vyv22500)) (Succ vyv22500)",fontsize=16,color="magenta"];3073 -> 3215[label="",style="dashed", color="magenta", weight=3]; 3073 -> 3216[label="",style="dashed", color="magenta", weight=3]; 3074[label="Zero",fontsize=16,color="green",shape="box"];3075[label="Zero",fontsize=16,color="green",shape="box"];3076[label="Zero",fontsize=16,color="green",shape="box"];5245[label="vyv201",fontsize=16,color="green",shape="box"];5246[label="Integer (primMulInt vyv2010 vyv2010)",fontsize=16,color="green",shape="box"];5246 -> 5379[label="",style="dashed", color="green", weight=3]; 3416[label="vyv281 * vyv282 `quot` reduce2D (vyv281 * vyv282) (vyv283 * vyv284) :% (vyv283 * vyv284 `quot` reduce2D (vyv281 * vyv282) (vyv283 * vyv284))",fontsize=16,color="green",shape="box"];3416 -> 3443[label="",style="dashed", color="green", weight=3]; 3416 -> 3444[label="",style="dashed", color="green", weight=3]; 419[label="pr2F0G (vyv12 * vyv12) vyv12 (Neg vyv25)",fontsize=16,color="black",shape="box"];419 -> 443[label="",style="solid", color="black", weight=3]; 420[label="vyv12 * vyv12",fontsize=16,color="black",shape="triangle"];420 -> 2748[label="",style="solid", color="black", weight=3]; 421[label="vyv12 * vyv12",fontsize=16,color="black",shape="triangle"];421 -> 2749[label="",style="solid", color="black", weight=3]; 422[label="vyv12 * vyv12",fontsize=16,color="black",shape="triangle"];422 -> 2750[label="",style="solid", color="black", weight=3]; 423[label="vyv12 * vyv12",fontsize=16,color="burlywood",shape="triangle"];7496[label="vyv12/Integer vyv120",fontsize=10,color="white",style="solid",shape="box"];423 -> 7496[label="",style="solid", color="burlywood", weight=9]; 7496 -> 2751[label="",style="solid", color="burlywood", weight=3]; 424[label="vyv12 * vyv12",fontsize=16,color="burlywood",shape="triangle"];7497[label="vyv12/vyv120 :% vyv121",fontsize=10,color="white",style="solid",shape="box"];424 -> 7497[label="",style="solid", color="burlywood", weight=9]; 7497 -> 2752[label="",style="solid", color="burlywood", weight=3]; 534[label="pr2F0G1 (vyv20 * vyv20) vyv20 (Pos vyv27) (primEvenInt (Pos vyv27))",fontsize=16,color="black",shape="box"];534 -> 550[label="",style="solid", color="black", weight=3]; 2839 -> 2860[label="",style="dashed", color="red", weight=0]; 2839[label="primMulInt vyv200 vyv200",fontsize=16,color="magenta"];2839 -> 2863[label="",style="dashed", color="magenta", weight=3]; 2839 -> 2864[label="",style="dashed", color="magenta", weight=3]; 4015[label="primDivNatS0 (Succ vyv293000) (Succ vyv327000) (primGEqNatS (Succ vyv293000) (Succ vyv327000))",fontsize=16,color="black",shape="box"];4015 -> 4030[label="",style="solid", color="black", weight=3]; 4016[label="primDivNatS0 (Succ vyv293000) Zero (primGEqNatS (Succ vyv293000) Zero)",fontsize=16,color="black",shape="box"];4016 -> 4031[label="",style="solid", color="black", weight=3]; 4017[label="primDivNatS0 Zero (Succ vyv327000) (primGEqNatS Zero (Succ vyv327000))",fontsize=16,color="black",shape="box"];4017 -> 4032[label="",style="solid", color="black", weight=3]; 4018[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];4018 -> 4033[label="",style="solid", color="black", weight=3]; 6676[label="primDivNatS0 (Succ vyv400) (Succ vyv401) (primGEqNatS (Succ vyv4020) vyv403)",fontsize=16,color="burlywood",shape="box"];7498[label="vyv403/Succ vyv4030",fontsize=10,color="white",style="solid",shape="box"];6676 -> 7498[label="",style="solid", color="burlywood", weight=9]; 7498 -> 6771[label="",style="solid", color="burlywood", weight=3]; 7499[label="vyv403/Zero",fontsize=10,color="white",style="solid",shape="box"];6676 -> 7499[label="",style="solid", color="burlywood", weight=9]; 7499 -> 6772[label="",style="solid", color="burlywood", weight=3]; 6677[label="primDivNatS0 (Succ vyv400) (Succ vyv401) (primGEqNatS Zero vyv403)",fontsize=16,color="burlywood",shape="box"];7500[label="vyv403/Succ vyv4030",fontsize=10,color="white",style="solid",shape="box"];6677 -> 7500[label="",style="solid", color="burlywood", weight=9]; 7500 -> 6773[label="",style="solid", color="burlywood", weight=3]; 7501[label="vyv403/Zero",fontsize=10,color="white",style="solid",shape="box"];6677 -> 7501[label="",style="solid", color="burlywood", weight=9]; 7501 -> 6774[label="",style="solid", color="burlywood", weight=3]; 3968[label="vyv29600",fontsize=16,color="green",shape="box"];3969[label="vyv325000",fontsize=16,color="green",shape="box"];3970[label="vyv29600",fontsize=16,color="green",shape="box"];3971[label="vyv325000",fontsize=16,color="green",shape="box"];3972[label="vyv29600",fontsize=16,color="green",shape="box"];3973[label="vyv325000",fontsize=16,color="green",shape="box"];3974[label="vyv29600",fontsize=16,color="green",shape="box"];3975[label="vyv325000",fontsize=16,color="green",shape="box"];3287[label="primMinusNat (Succ vyv24600) vyv2450",fontsize=16,color="burlywood",shape="box"];7502[label="vyv2450/Succ vyv24500",fontsize=10,color="white",style="solid",shape="box"];3287 -> 7502[label="",style="solid", color="burlywood", weight=9]; 7502 -> 3337[label="",style="solid", color="burlywood", weight=3]; 7503[label="vyv2450/Zero",fontsize=10,color="white",style="solid",shape="box"];3287 -> 7503[label="",style="solid", color="burlywood", weight=9]; 7503 -> 3338[label="",style="solid", color="burlywood", weight=3]; 3288[label="primMinusNat Zero vyv2450",fontsize=16,color="burlywood",shape="box"];7504[label="vyv2450/Succ vyv24500",fontsize=10,color="white",style="solid",shape="box"];3288 -> 7504[label="",style="solid", color="burlywood", weight=9]; 7504 -> 3339[label="",style="solid", color="burlywood", weight=3]; 7505[label="vyv2450/Zero",fontsize=10,color="white",style="solid",shape="box"];3288 -> 7505[label="",style="solid", color="burlywood", weight=9]; 7505 -> 3340[label="",style="solid", color="burlywood", weight=3]; 3289 -> 94[label="",style="dashed", color="red", weight=0]; 3289[label="primPlusNat vyv2460 vyv2450",fontsize=16,color="magenta"];3289 -> 3341[label="",style="dashed", color="magenta", weight=3]; 3289 -> 3342[label="",style="dashed", color="magenta", weight=3]; 3290 -> 94[label="",style="dashed", color="red", weight=0]; 3290[label="primPlusNat vyv2460 vyv2450",fontsize=16,color="magenta"];3290 -> 3343[label="",style="dashed", color="magenta", weight=3]; 3290 -> 3344[label="",style="dashed", color="magenta", weight=3]; 3291[label="vyv2450",fontsize=16,color="green",shape="box"];3292[label="vyv2460",fontsize=16,color="green",shape="box"];817[label="primEqInt (Pos (Succ vyv38000)) (Pos Zero)",fontsize=16,color="black",shape="box"];817 -> 905[label="",style="solid", color="black", weight=3]; 818[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];818 -> 906[label="",style="solid", color="black", weight=3]; 819[label="primEqInt (Neg (Succ vyv38000)) (Pos Zero)",fontsize=16,color="black",shape="box"];819 -> 907[label="",style="solid", color="black", weight=3]; 820[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];820 -> 908[label="",style="solid", color="black", weight=3]; 3295 -> 3039[label="",style="dashed", color="red", weight=0]; 3295[label="vyv242 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];3295 -> 3345[label="",style="dashed", color="magenta", weight=3]; 3295 -> 3346[label="",style="dashed", color="magenta", weight=3]; 3324 -> 3054[label="",style="dashed", color="red", weight=0]; 3324[label="vyv242 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];3324 -> 3347[label="",style="dashed", color="magenta", weight=3]; 3324 -> 3348[label="",style="dashed", color="magenta", weight=3]; 3335[label="pr2F0G0 (vyv264 * vyv264 * vyv265) (vyv264 * vyv264) (vyv266 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];3335 -> 3378[label="",style="solid", color="black", weight=3]; 3336 -> 2645[label="",style="dashed", color="red", weight=0]; 3336[label="pr2F0G (vyv264 * vyv264 * vyv265) (vyv264 * vyv264 * (vyv264 * vyv264)) ((vyv266 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))) `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3336 -> 3379[label="",style="dashed", color="magenta", weight=3]; 3336 -> 3380[label="",style="dashed", color="magenta", weight=3]; 3336 -> 3381[label="",style="dashed", color="magenta", weight=3]; 6329 -> 2860[label="",style="dashed", color="red", weight=0]; 6329[label="primMulInt (primMulInt vyv2410 vyv2410) vyv2430",fontsize=16,color="magenta"];6329 -> 6420[label="",style="dashed", color="magenta", weight=3]; 6329 -> 6421[label="",style="dashed", color="magenta", weight=3]; 6330[label="vyv2411",fontsize=16,color="green",shape="box"];6331[label="vyv2410",fontsize=16,color="green",shape="box"];6332[label="vyv3880 :% vyv3881 * vyv243",fontsize=16,color="burlywood",shape="box"];7506[label="vyv243/vyv2430 :% vyv2431",fontsize=10,color="white",style="solid",shape="box"];6332 -> 7506[label="",style="solid", color="burlywood", weight=9]; 7506 -> 6422[label="",style="solid", color="burlywood", weight=3]; 3215 -> 2955[label="",style="dashed", color="red", weight=0]; 3215[label="primMulNat vyv1200 (Succ vyv22500)",fontsize=16,color="magenta"];3215 -> 3268[label="",style="dashed", color="magenta", weight=3]; 3215 -> 3269[label="",style="dashed", color="magenta", weight=3]; 3216[label="Succ vyv22500",fontsize=16,color="green",shape="box"];5379 -> 2745[label="",style="dashed", color="red", weight=0]; 5379[label="primMulInt vyv2010 vyv2010",fontsize=16,color="magenta"];5379 -> 5560[label="",style="dashed", color="magenta", weight=3]; 3443[label="vyv281 * vyv282 `quot` reduce2D (vyv281 * vyv282) (vyv283 * vyv284)",fontsize=16,color="blue",shape="box"];7507[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3443 -> 7507[label="",style="solid", color="blue", weight=9]; 7507 -> 3485[label="",style="solid", color="blue", weight=3]; 7508[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3443 -> 7508[label="",style="solid", color="blue", weight=9]; 7508 -> 3486[label="",style="solid", color="blue", weight=3]; 3444[label="vyv283 * vyv284 `quot` reduce2D (vyv281 * vyv282) (vyv283 * vyv284)",fontsize=16,color="blue",shape="box"];7509[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3444 -> 7509[label="",style="solid", color="blue", weight=9]; 7509 -> 3487[label="",style="solid", color="blue", weight=3]; 7510[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3444 -> 7510[label="",style="solid", color="blue", weight=9]; 7510 -> 3488[label="",style="solid", color="blue", weight=3]; 443[label="pr2F0G2 (vyv12 * vyv12) vyv12 (Neg vyv25)",fontsize=16,color="black",shape="box"];443 -> 458[label="",style="solid", color="black", weight=3]; 2748 -> 2821[label="",style="dashed", color="red", weight=0]; 2748[label="primMulFloat vyv12 vyv12",fontsize=16,color="magenta"];2748 -> 2824[label="",style="dashed", color="magenta", weight=3]; 2749 -> 2844[label="",style="dashed", color="red", weight=0]; 2749[label="primMulDouble vyv12 vyv12",fontsize=16,color="magenta"];2749 -> 2847[label="",style="dashed", color="magenta", weight=3]; 2750 -> 2860[label="",style="dashed", color="red", weight=0]; 2750[label="primMulInt vyv12 vyv12",fontsize=16,color="magenta"];2750 -> 2865[label="",style="dashed", color="magenta", weight=3]; 2751[label="Integer vyv120 * Integer vyv120",fontsize=16,color="black",shape="box"];2751 -> 2804[label="",style="solid", color="black", weight=3]; 2752[label="vyv120 :% vyv121 * (vyv120 :% vyv121)",fontsize=16,color="black",shape="box"];2752 -> 2805[label="",style="solid", color="black", weight=3]; 550[label="pr2F0G1 (vyv20 * vyv20) vyv20 (Pos vyv27) (primEvenNat vyv27)",fontsize=16,color="burlywood",shape="box"];7511[label="vyv27/Succ vyv270",fontsize=10,color="white",style="solid",shape="box"];550 -> 7511[label="",style="solid", color="burlywood", weight=9]; 7511 -> 560[label="",style="solid", color="burlywood", weight=3]; 7512[label="vyv27/Zero",fontsize=10,color="white",style="solid",shape="box"];550 -> 7512[label="",style="solid", color="burlywood", weight=9]; 7512 -> 561[label="",style="solid", color="burlywood", weight=3]; 2863[label="vyv200",fontsize=16,color="green",shape="box"];2864[label="vyv200",fontsize=16,color="green",shape="box"];4030 -> 6631[label="",style="dashed", color="red", weight=0]; 4030[label="primDivNatS0 (Succ vyv293000) (Succ vyv327000) (primGEqNatS vyv293000 vyv327000)",fontsize=16,color="magenta"];4030 -> 6636[label="",style="dashed", color="magenta", weight=3]; 4030 -> 6637[label="",style="dashed", color="magenta", weight=3]; 4030 -> 6638[label="",style="dashed", color="magenta", weight=3]; 4030 -> 6639[label="",style="dashed", color="magenta", weight=3]; 4031[label="primDivNatS0 (Succ vyv293000) Zero True",fontsize=16,color="black",shape="box"];4031 -> 4038[label="",style="solid", color="black", weight=3]; 4032[label="primDivNatS0 Zero (Succ vyv327000) False",fontsize=16,color="black",shape="box"];4032 -> 4039[label="",style="solid", color="black", weight=3]; 4033[label="primDivNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];4033 -> 4040[label="",style="solid", color="black", weight=3]; 6771[label="primDivNatS0 (Succ vyv400) (Succ vyv401) (primGEqNatS (Succ vyv4020) (Succ vyv4030))",fontsize=16,color="black",shape="box"];6771 -> 6808[label="",style="solid", color="black", weight=3]; 6772[label="primDivNatS0 (Succ vyv400) (Succ vyv401) (primGEqNatS (Succ vyv4020) Zero)",fontsize=16,color="black",shape="box"];6772 -> 6809[label="",style="solid", color="black", weight=3]; 6773[label="primDivNatS0 (Succ vyv400) (Succ vyv401) (primGEqNatS Zero (Succ vyv4030))",fontsize=16,color="black",shape="box"];6773 -> 6810[label="",style="solid", color="black", weight=3]; 6774[label="primDivNatS0 (Succ vyv400) (Succ vyv401) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];6774 -> 6811[label="",style="solid", color="black", weight=3]; 3337[label="primMinusNat (Succ vyv24600) (Succ vyv24500)",fontsize=16,color="black",shape="box"];3337 -> 3382[label="",style="solid", color="black", weight=3]; 3338[label="primMinusNat (Succ vyv24600) Zero",fontsize=16,color="black",shape="box"];3338 -> 3383[label="",style="solid", color="black", weight=3]; 3339[label="primMinusNat Zero (Succ vyv24500)",fontsize=16,color="black",shape="box"];3339 -> 3384[label="",style="solid", color="black", weight=3]; 3340[label="primMinusNat Zero Zero",fontsize=16,color="black",shape="box"];3340 -> 3385[label="",style="solid", color="black", weight=3]; 3341[label="vyv2460",fontsize=16,color="green",shape="box"];3342[label="vyv2450",fontsize=16,color="green",shape="box"];3343[label="vyv2460",fontsize=16,color="green",shape="box"];3344[label="vyv2450",fontsize=16,color="green",shape="box"];905[label="False",fontsize=16,color="green",shape="box"];906[label="True",fontsize=16,color="green",shape="box"];907[label="False",fontsize=16,color="green",shape="box"];908[label="True",fontsize=16,color="green",shape="box"];3345 -> 29[label="",style="dashed", color="red", weight=0]; 3345[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];3346 -> 2890[label="",style="dashed", color="red", weight=0]; 3346[label="vyv242 `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];3346 -> 3386[label="",style="dashed", color="magenta", weight=3]; 3347 -> 30[label="",style="dashed", color="red", weight=0]; 3347[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];3348 -> 2891[label="",style="dashed", color="red", weight=0]; 3348[label="vyv242 `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];3348 -> 3387[label="",style="dashed", color="magenta", weight=3]; 3378 -> 6926[label="",style="dashed", color="red", weight=0]; 3378[label="pr2F0G0 (vyv264 * vyv264 * vyv265) (vyv264 * vyv264) (vyv266 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))) True",fontsize=16,color="magenta"];3378 -> 6927[label="",style="dashed", color="magenta", weight=3]; 3378 -> 6928[label="",style="dashed", color="magenta", weight=3]; 3378 -> 6929[label="",style="dashed", color="magenta", weight=3]; 3379[label="vyv264 * vyv264",fontsize=16,color="blue",shape="box"];7513[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3379 -> 7513[label="",style="solid", color="blue", weight=9]; 7513 -> 3420[label="",style="solid", color="blue", weight=3]; 7514[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3379 -> 7514[label="",style="solid", color="blue", weight=9]; 7514 -> 3421[label="",style="solid", color="blue", weight=3]; 7515[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3379 -> 7515[label="",style="solid", color="blue", weight=9]; 7515 -> 3422[label="",style="solid", color="blue", weight=3]; 7516[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3379 -> 7516[label="",style="solid", color="blue", weight=9]; 7516 -> 3423[label="",style="solid", color="blue", weight=3]; 7517[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3379 -> 7517[label="",style="solid", color="blue", weight=9]; 7517 -> 3424[label="",style="solid", color="blue", weight=3]; 3380[label="vyv266 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))",fontsize=16,color="blue",shape="box"];7518[label="- :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3380 -> 7518[label="",style="solid", color="blue", weight=9]; 7518 -> 3425[label="",style="solid", color="blue", weight=3]; 7519[label="- :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3380 -> 7519[label="",style="solid", color="blue", weight=9]; 7519 -> 3426[label="",style="solid", color="blue", weight=3]; 3381[label="vyv264 * vyv264 * vyv265",fontsize=16,color="blue",shape="box"];7520[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3381 -> 7520[label="",style="solid", color="blue", weight=9]; 7520 -> 3427[label="",style="solid", color="blue", weight=3]; 7521[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3381 -> 7521[label="",style="solid", color="blue", weight=9]; 7521 -> 3428[label="",style="solid", color="blue", weight=3]; 7522[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3381 -> 7522[label="",style="solid", color="blue", weight=9]; 7522 -> 3429[label="",style="solid", color="blue", weight=3]; 7523[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3381 -> 7523[label="",style="solid", color="blue", weight=9]; 7523 -> 3430[label="",style="solid", color="blue", weight=3]; 7524[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3381 -> 7524[label="",style="solid", color="blue", weight=9]; 7524 -> 3431[label="",style="solid", color="blue", weight=3]; 6420[label="vyv2430",fontsize=16,color="green",shape="box"];6421 -> 2745[label="",style="dashed", color="red", weight=0]; 6421[label="primMulInt vyv2410 vyv2410",fontsize=16,color="magenta"];6421 -> 6583[label="",style="dashed", color="magenta", weight=3]; 6422[label="vyv3880 :% vyv3881 * (vyv2430 :% vyv2431)",fontsize=16,color="black",shape="box"];6422 -> 6584[label="",style="solid", color="black", weight=3]; 3268[label="vyv1200",fontsize=16,color="green",shape="box"];3269[label="Succ vyv22500",fontsize=16,color="green",shape="box"];5560[label="vyv2010",fontsize=16,color="green",shape="box"];3485 -> 3507[label="",style="dashed", color="red", weight=0]; 3485[label="vyv281 * vyv282 `quot` reduce2D (vyv281 * vyv282) (vyv283 * vyv284)",fontsize=16,color="magenta"];3485 -> 3508[label="",style="dashed", color="magenta", weight=3]; 3485 -> 3509[label="",style="dashed", color="magenta", weight=3]; 3485 -> 3510[label="",style="dashed", color="magenta", weight=3]; 3486 -> 3514[label="",style="dashed", color="red", weight=0]; 3486[label="vyv281 * vyv282 `quot` reduce2D (vyv281 * vyv282) (vyv283 * vyv284)",fontsize=16,color="magenta"];3486 -> 3515[label="",style="dashed", color="magenta", weight=3]; 3486 -> 3516[label="",style="dashed", color="magenta", weight=3]; 3486 -> 3517[label="",style="dashed", color="magenta", weight=3]; 3487 -> 3507[label="",style="dashed", color="red", weight=0]; 3487[label="vyv283 * vyv284 `quot` reduce2D (vyv281 * vyv282) (vyv283 * vyv284)",fontsize=16,color="magenta"];3487 -> 3511[label="",style="dashed", color="magenta", weight=3]; 3487 -> 3512[label="",style="dashed", color="magenta", weight=3]; 3487 -> 3513[label="",style="dashed", color="magenta", weight=3]; 3488 -> 3514[label="",style="dashed", color="red", weight=0]; 3488[label="vyv283 * vyv284 `quot` reduce2D (vyv281 * vyv282) (vyv283 * vyv284)",fontsize=16,color="magenta"];3488 -> 3518[label="",style="dashed", color="magenta", weight=3]; 3488 -> 3519[label="",style="dashed", color="magenta", weight=3]; 3488 -> 3520[label="",style="dashed", color="magenta", weight=3]; 458[label="pr2F0G1 (vyv12 * vyv12) vyv12 (Neg vyv25) (even (Neg vyv25))",fontsize=16,color="black",shape="box"];458 -> 478[label="",style="solid", color="black", weight=3]; 2824[label="vyv12",fontsize=16,color="green",shape="box"];2847[label="vyv12",fontsize=16,color="green",shape="box"];2865[label="vyv12",fontsize=16,color="green",shape="box"];2804[label="Integer (primMulInt vyv120 vyv120)",fontsize=16,color="green",shape="box"];2804 -> 2841[label="",style="dashed", color="green", weight=3]; 2805 -> 2800[label="",style="dashed", color="red", weight=0]; 2805[label="reduce (vyv120 * vyv120) (vyv121 * vyv121)",fontsize=16,color="magenta"];2805 -> 2842[label="",style="dashed", color="magenta", weight=3]; 2805 -> 2843[label="",style="dashed", color="magenta", weight=3]; 560[label="pr2F0G1 (vyv20 * vyv20) vyv20 (Pos (Succ vyv270)) (primEvenNat (Succ vyv270))",fontsize=16,color="burlywood",shape="box"];7525[label="vyv270/Succ vyv2700",fontsize=10,color="white",style="solid",shape="box"];560 -> 7525[label="",style="solid", color="burlywood", weight=9]; 7525 -> 569[label="",style="solid", color="burlywood", weight=3]; 7526[label="vyv270/Zero",fontsize=10,color="white",style="solid",shape="box"];560 -> 7526[label="",style="solid", color="burlywood", weight=9]; 7526 -> 570[label="",style="solid", color="burlywood", weight=3]; 561[label="pr2F0G1 (vyv20 * vyv20) vyv20 (Pos Zero) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];561 -> 571[label="",style="solid", color="black", weight=3]; 6636[label="vyv293000",fontsize=16,color="green",shape="box"];6637[label="vyv327000",fontsize=16,color="green",shape="box"];6638[label="vyv327000",fontsize=16,color="green",shape="box"];6639[label="vyv293000",fontsize=16,color="green",shape="box"];4038[label="Succ (primDivNatS (primMinusNatS (Succ vyv293000) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];4038 -> 4065[label="",style="dashed", color="green", weight=3]; 4039[label="Zero",fontsize=16,color="green",shape="box"];4040[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];4040 -> 4066[label="",style="dashed", color="green", weight=3]; 6808 -> 6631[label="",style="dashed", color="red", weight=0]; 6808[label="primDivNatS0 (Succ vyv400) (Succ vyv401) (primGEqNatS vyv4020 vyv4030)",fontsize=16,color="magenta"];6808 -> 6860[label="",style="dashed", color="magenta", weight=3]; 6808 -> 6861[label="",style="dashed", color="magenta", weight=3]; 6809[label="primDivNatS0 (Succ vyv400) (Succ vyv401) True",fontsize=16,color="black",shape="triangle"];6809 -> 6862[label="",style="solid", color="black", weight=3]; 6810[label="primDivNatS0 (Succ vyv400) (Succ vyv401) False",fontsize=16,color="black",shape="box"];6810 -> 6863[label="",style="solid", color="black", weight=3]; 6811 -> 6809[label="",style="dashed", color="red", weight=0]; 6811[label="primDivNatS0 (Succ vyv400) (Succ vyv401) True",fontsize=16,color="magenta"];3382 -> 3260[label="",style="dashed", color="red", weight=0]; 3382[label="primMinusNat vyv24600 vyv24500",fontsize=16,color="magenta"];3382 -> 3432[label="",style="dashed", color="magenta", weight=3]; 3382 -> 3433[label="",style="dashed", color="magenta", weight=3]; 3383[label="Pos (Succ vyv24600)",fontsize=16,color="green",shape="box"];3384[label="Neg (Succ vyv24500)",fontsize=16,color="green",shape="box"];3385[label="Pos Zero",fontsize=16,color="green",shape="box"];3386[label="vyv242",fontsize=16,color="green",shape="box"];3387[label="vyv242",fontsize=16,color="green",shape="box"];6927[label="vyv264 * vyv264",fontsize=16,color="blue",shape="box"];7527[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];6927 -> 7527[label="",style="solid", color="blue", weight=9]; 7527 -> 6957[label="",style="solid", color="blue", weight=3]; 7528[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];6927 -> 7528[label="",style="solid", color="blue", weight=9]; 7528 -> 6958[label="",style="solid", color="blue", weight=3]; 7529[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];6927 -> 7529[label="",style="solid", color="blue", weight=9]; 7529 -> 6959[label="",style="solid", color="blue", weight=3]; 7530[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];6927 -> 7530[label="",style="solid", color="blue", weight=9]; 7530 -> 6960[label="",style="solid", color="blue", weight=3]; 7531[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];6927 -> 7531[label="",style="solid", color="blue", weight=9]; 7531 -> 6961[label="",style="solid", color="blue", weight=3]; 6928[label="vyv265",fontsize=16,color="green",shape="box"];6929[label="vyv266 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))",fontsize=16,color="blue",shape="box"];7532[label="- :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];6929 -> 7532[label="",style="solid", color="blue", weight=9]; 7532 -> 6962[label="",style="solid", color="blue", weight=3]; 7533[label="- :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];6929 -> 7533[label="",style="solid", color="blue", weight=9]; 7533 -> 6963[label="",style="solid", color="blue", weight=3]; 6926[label="pr2F0G0 (vyv414 * vyv415) vyv414 vyv416 True",fontsize=16,color="black",shape="triangle"];6926 -> 6964[label="",style="solid", color="black", weight=3]; 3420[label="vyv264 * vyv264",fontsize=16,color="black",shape="box"];3420 -> 5146[label="",style="solid", color="black", weight=3]; 3421[label="vyv264 * vyv264",fontsize=16,color="black",shape="box"];3421 -> 5147[label="",style="solid", color="black", weight=3]; 3422[label="vyv264 * vyv264",fontsize=16,color="black",shape="box"];3422 -> 5148[label="",style="solid", color="black", weight=3]; 3423[label="vyv264 * vyv264",fontsize=16,color="burlywood",shape="box"];7534[label="vyv264/Integer vyv2640",fontsize=10,color="white",style="solid",shape="box"];3423 -> 7534[label="",style="solid", color="burlywood", weight=9]; 7534 -> 5149[label="",style="solid", color="burlywood", weight=3]; 3424[label="vyv264 * vyv264",fontsize=16,color="burlywood",shape="box"];7535[label="vyv264/vyv2640 :% vyv2641",fontsize=10,color="white",style="solid",shape="box"];3424 -> 7535[label="",style="solid", color="burlywood", weight=9]; 7535 -> 5150[label="",style="solid", color="burlywood", weight=3]; 3425 -> 3039[label="",style="dashed", color="red", weight=0]; 3425[label="vyv266 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];3425 -> 3453[label="",style="dashed", color="magenta", weight=3]; 3425 -> 3454[label="",style="dashed", color="magenta", weight=3]; 3426 -> 3054[label="",style="dashed", color="red", weight=0]; 3426[label="vyv266 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];3426 -> 3455[label="",style="dashed", color="magenta", weight=3]; 3426 -> 3456[label="",style="dashed", color="magenta", weight=3]; 3427[label="vyv264 * vyv264 * vyv265",fontsize=16,color="black",shape="box"];3427 -> 5151[label="",style="solid", color="black", weight=3]; 3428[label="vyv264 * vyv264 * vyv265",fontsize=16,color="black",shape="box"];3428 -> 5152[label="",style="solid", color="black", weight=3]; 3429[label="vyv264 * vyv264 * vyv265",fontsize=16,color="black",shape="box"];3429 -> 5153[label="",style="solid", color="black", weight=3]; 3430[label="vyv264 * vyv264 * vyv265",fontsize=16,color="burlywood",shape="box"];7536[label="vyv264/Integer vyv2640",fontsize=10,color="white",style="solid",shape="box"];3430 -> 7536[label="",style="solid", color="burlywood", weight=9]; 7536 -> 5154[label="",style="solid", color="burlywood", weight=3]; 3431[label="vyv264 * vyv264 * vyv265",fontsize=16,color="burlywood",shape="box"];7537[label="vyv264/vyv2640 :% vyv2641",fontsize=10,color="white",style="solid",shape="box"];3431 -> 7537[label="",style="solid", color="burlywood", weight=9]; 7537 -> 5155[label="",style="solid", color="burlywood", weight=3]; 6583[label="vyv2410",fontsize=16,color="green",shape="box"];6584[label="reduce (vyv3880 * vyv2430) (vyv3881 * vyv2431)",fontsize=16,color="black",shape="box"];6584 -> 6598[label="",style="solid", color="black", weight=3]; 3508[label="vyv281 * vyv282",fontsize=16,color="black",shape="box"];3508 -> 5177[label="",style="solid", color="black", weight=3]; 3509[label="vyv283 * vyv284",fontsize=16,color="black",shape="box"];3509 -> 5178[label="",style="solid", color="black", weight=3]; 3510[label="vyv281 * vyv282",fontsize=16,color="black",shape="box"];3510 -> 5179[label="",style="solid", color="black", weight=3]; 3507[label="vyv293 `quot` reduce2D vyv295 vyv294",fontsize=16,color="black",shape="triangle"];3507 -> 3527[label="",style="solid", color="black", weight=3]; 3515[label="vyv281 * vyv282",fontsize=16,color="burlywood",shape="triangle"];7538[label="vyv281/Integer vyv2810",fontsize=10,color="white",style="solid",shape="box"];3515 -> 7538[label="",style="solid", color="burlywood", weight=9]; 7538 -> 5180[label="",style="solid", color="burlywood", weight=3]; 3516[label="vyv283 * vyv284",fontsize=16,color="burlywood",shape="box"];7539[label="vyv283/Integer vyv2830",fontsize=10,color="white",style="solid",shape="box"];3516 -> 7539[label="",style="solid", color="burlywood", weight=9]; 7539 -> 5181[label="",style="solid", color="burlywood", weight=3]; 3517[label="vyv281 * vyv282",fontsize=16,color="burlywood",shape="box"];7540[label="vyv281/Integer vyv2810",fontsize=10,color="white",style="solid",shape="box"];3517 -> 7540[label="",style="solid", color="burlywood", weight=9]; 7540 -> 5182[label="",style="solid", color="burlywood", weight=3]; 3514[label="vyv296 `quot` reduce2D vyv298 vyv297",fontsize=16,color="burlywood",shape="triangle"];7541[label="vyv296/Integer vyv2960",fontsize=10,color="white",style="solid",shape="box"];3514 -> 7541[label="",style="solid", color="burlywood", weight=9]; 7541 -> 3534[label="",style="solid", color="burlywood", weight=3]; 3511[label="vyv283 * vyv284",fontsize=16,color="black",shape="box"];3511 -> 5183[label="",style="solid", color="black", weight=3]; 3512[label="vyv283 * vyv284",fontsize=16,color="black",shape="box"];3512 -> 5184[label="",style="solid", color="black", weight=3]; 3513[label="vyv281 * vyv282",fontsize=16,color="black",shape="box"];3513 -> 5185[label="",style="solid", color="black", weight=3]; 3518[label="vyv283 * vyv284",fontsize=16,color="burlywood",shape="box"];7542[label="vyv283/Integer vyv2830",fontsize=10,color="white",style="solid",shape="box"];3518 -> 7542[label="",style="solid", color="burlywood", weight=9]; 7542 -> 5186[label="",style="solid", color="burlywood", weight=3]; 3519[label="vyv283 * vyv284",fontsize=16,color="burlywood",shape="box"];7543[label="vyv283/Integer vyv2830",fontsize=10,color="white",style="solid",shape="box"];3519 -> 7543[label="",style="solid", color="burlywood", weight=9]; 7543 -> 5187[label="",style="solid", color="burlywood", weight=3]; 3520[label="vyv281 * vyv282",fontsize=16,color="burlywood",shape="box"];7544[label="vyv281/Integer vyv2810",fontsize=10,color="white",style="solid",shape="box"];3520 -> 7544[label="",style="solid", color="burlywood", weight=9]; 7544 -> 5188[label="",style="solid", color="burlywood", weight=3]; 478[label="pr2F0G1 (vyv12 * vyv12) vyv12 (Neg vyv25) (primEvenInt (Neg vyv25))",fontsize=16,color="black",shape="box"];478 -> 499[label="",style="solid", color="black", weight=3]; 2841 -> 2860[label="",style="dashed", color="red", weight=0]; 2841[label="primMulInt vyv120 vyv120",fontsize=16,color="magenta"];2841 -> 2866[label="",style="dashed", color="magenta", weight=3]; 2841 -> 2867[label="",style="dashed", color="magenta", weight=3]; 2842[label="vyv121",fontsize=16,color="green",shape="box"];2843[label="vyv120",fontsize=16,color="green",shape="box"];569[label="pr2F0G1 (vyv20 * vyv20) vyv20 (Pos (Succ (Succ vyv2700))) (primEvenNat (Succ (Succ vyv2700)))",fontsize=16,color="black",shape="box"];569 -> 609[label="",style="solid", color="black", weight=3]; 570[label="pr2F0G1 (vyv20 * vyv20) vyv20 (Pos (Succ Zero)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];570 -> 610[label="",style="solid", color="black", weight=3]; 571[label="pr2F0G1 (vyv20 * vyv20) vyv20 (Pos Zero) True",fontsize=16,color="black",shape="box"];571 -> 611[label="",style="solid", color="black", weight=3]; 4065 -> 3924[label="",style="dashed", color="red", weight=0]; 4065[label="primDivNatS (primMinusNatS (Succ vyv293000) Zero) (Succ Zero)",fontsize=16,color="magenta"];4065 -> 4079[label="",style="dashed", color="magenta", weight=3]; 4065 -> 4080[label="",style="dashed", color="magenta", weight=3]; 4066 -> 3924[label="",style="dashed", color="red", weight=0]; 4066[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];4066 -> 4081[label="",style="dashed", color="magenta", weight=3]; 4066 -> 4082[label="",style="dashed", color="magenta", weight=3]; 6860[label="vyv4020",fontsize=16,color="green",shape="box"];6861[label="vyv4030",fontsize=16,color="green",shape="box"];6862[label="Succ (primDivNatS (primMinusNatS (Succ vyv400) (Succ vyv401)) (Succ (Succ vyv401)))",fontsize=16,color="green",shape="box"];6862 -> 6906[label="",style="dashed", color="green", weight=3]; 6863[label="Zero",fontsize=16,color="green",shape="box"];3432[label="vyv24600",fontsize=16,color="green",shape="box"];3433[label="vyv24500",fontsize=16,color="green",shape="box"];6957 -> 420[label="",style="dashed", color="red", weight=0]; 6957[label="vyv264 * vyv264",fontsize=16,color="magenta"];6957 -> 6972[label="",style="dashed", color="magenta", weight=3]; 6958 -> 421[label="",style="dashed", color="red", weight=0]; 6958[label="vyv264 * vyv264",fontsize=16,color="magenta"];6958 -> 6973[label="",style="dashed", color="magenta", weight=3]; 6959 -> 422[label="",style="dashed", color="red", weight=0]; 6959[label="vyv264 * vyv264",fontsize=16,color="magenta"];6959 -> 6974[label="",style="dashed", color="magenta", weight=3]; 6960 -> 423[label="",style="dashed", color="red", weight=0]; 6960[label="vyv264 * vyv264",fontsize=16,color="magenta"];6960 -> 6975[label="",style="dashed", color="magenta", weight=3]; 6961 -> 424[label="",style="dashed", color="red", weight=0]; 6961[label="vyv264 * vyv264",fontsize=16,color="magenta"];6961 -> 6976[label="",style="dashed", color="magenta", weight=3]; 6962 -> 3039[label="",style="dashed", color="red", weight=0]; 6962[label="vyv266 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];6962 -> 6977[label="",style="dashed", color="magenta", weight=3]; 6962 -> 6978[label="",style="dashed", color="magenta", weight=3]; 6963 -> 3054[label="",style="dashed", color="red", weight=0]; 6963[label="vyv266 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];6963 -> 6979[label="",style="dashed", color="magenta", weight=3]; 6963 -> 6980[label="",style="dashed", color="magenta", weight=3]; 6964[label="pr2F vyv414 (vyv416 - fromInt (Pos (Succ Zero))) (vyv414 * (vyv414 * vyv415))",fontsize=16,color="black",shape="box"];6964 -> 6981[label="",style="solid", color="black", weight=3]; 5146 -> 2743[label="",style="dashed", color="red", weight=0]; 5146[label="primMulFloat vyv264 vyv264",fontsize=16,color="magenta"];5146 -> 5224[label="",style="dashed", color="magenta", weight=3]; 5147 -> 2744[label="",style="dashed", color="red", weight=0]; 5147[label="primMulDouble vyv264 vyv264",fontsize=16,color="magenta"];5147 -> 5225[label="",style="dashed", color="magenta", weight=3]; 5148 -> 2745[label="",style="dashed", color="red", weight=0]; 5148[label="primMulInt vyv264 vyv264",fontsize=16,color="magenta"];5148 -> 5226[label="",style="dashed", color="magenta", weight=3]; 5149[label="Integer vyv2640 * Integer vyv2640",fontsize=16,color="black",shape="box"];5149 -> 5227[label="",style="solid", color="black", weight=3]; 5150[label="vyv2640 :% vyv2641 * (vyv2640 :% vyv2641)",fontsize=16,color="black",shape="box"];5150 -> 5228[label="",style="solid", color="black", weight=3]; 3453 -> 29[label="",style="dashed", color="red", weight=0]; 3453[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];3454 -> 2890[label="",style="dashed", color="red", weight=0]; 3454[label="vyv266 `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];3454 -> 3492[label="",style="dashed", color="magenta", weight=3]; 3455 -> 30[label="",style="dashed", color="red", weight=0]; 3455[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];3456 -> 2891[label="",style="dashed", color="red", weight=0]; 3456[label="vyv266 `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];3456 -> 3493[label="",style="dashed", color="magenta", weight=3]; 5151 -> 2821[label="",style="dashed", color="red", weight=0]; 5151[label="primMulFloat (vyv264 * vyv264) vyv265",fontsize=16,color="magenta"];5151 -> 5229[label="",style="dashed", color="magenta", weight=3]; 5151 -> 5230[label="",style="dashed", color="magenta", weight=3]; 5152 -> 2844[label="",style="dashed", color="red", weight=0]; 5152[label="primMulDouble (vyv264 * vyv264) vyv265",fontsize=16,color="magenta"];5152 -> 5231[label="",style="dashed", color="magenta", weight=3]; 5152 -> 5232[label="",style="dashed", color="magenta", weight=3]; 5153 -> 2860[label="",style="dashed", color="red", weight=0]; 5153[label="primMulInt (vyv264 * vyv264) vyv265",fontsize=16,color="magenta"];5153 -> 5233[label="",style="dashed", color="magenta", weight=3]; 5153 -> 5234[label="",style="dashed", color="magenta", weight=3]; 5154[label="Integer vyv2640 * Integer vyv2640 * vyv265",fontsize=16,color="black",shape="box"];5154 -> 5235[label="",style="solid", color="black", weight=3]; 5155[label="vyv2640 :% vyv2641 * (vyv2640 :% vyv2641) * vyv265",fontsize=16,color="black",shape="box"];5155 -> 5236[label="",style="solid", color="black", weight=3]; 6598[label="reduce2 (vyv3880 * vyv2430) (vyv3881 * vyv2431)",fontsize=16,color="black",shape="box"];6598 -> 6614[label="",style="solid", color="black", weight=3]; 5177 -> 2860[label="",style="dashed", color="red", weight=0]; 5177[label="primMulInt vyv281 vyv282",fontsize=16,color="magenta"];5177 -> 5262[label="",style="dashed", color="magenta", weight=3]; 5177 -> 5263[label="",style="dashed", color="magenta", weight=3]; 5178 -> 2860[label="",style="dashed", color="red", weight=0]; 5178[label="primMulInt vyv283 vyv284",fontsize=16,color="magenta"];5178 -> 5264[label="",style="dashed", color="magenta", weight=3]; 5178 -> 5265[label="",style="dashed", color="magenta", weight=3]; 5179 -> 2860[label="",style="dashed", color="red", weight=0]; 5179[label="primMulInt vyv281 vyv282",fontsize=16,color="magenta"];5179 -> 5266[label="",style="dashed", color="magenta", weight=3]; 5179 -> 5267[label="",style="dashed", color="magenta", weight=3]; 3527[label="primQuotInt vyv293 (reduce2D vyv295 vyv294)",fontsize=16,color="burlywood",shape="box"];7545[label="vyv293/Pos vyv2930",fontsize=10,color="white",style="solid",shape="box"];3527 -> 7545[label="",style="solid", color="burlywood", weight=9]; 7545 -> 3552[label="",style="solid", color="burlywood", weight=3]; 7546[label="vyv293/Neg vyv2930",fontsize=10,color="white",style="solid",shape="box"];3527 -> 7546[label="",style="solid", color="burlywood", weight=9]; 7546 -> 3553[label="",style="solid", color="burlywood", weight=3]; 5180[label="Integer vyv2810 * vyv282",fontsize=16,color="burlywood",shape="box"];7547[label="vyv282/Integer vyv2820",fontsize=10,color="white",style="solid",shape="box"];5180 -> 7547[label="",style="solid", color="burlywood", weight=9]; 7547 -> 5268[label="",style="solid", color="burlywood", weight=3]; 5181[label="Integer vyv2830 * vyv284",fontsize=16,color="burlywood",shape="box"];7548[label="vyv284/Integer vyv2840",fontsize=10,color="white",style="solid",shape="box"];5181 -> 7548[label="",style="solid", color="burlywood", weight=9]; 7548 -> 5269[label="",style="solid", color="burlywood", weight=3]; 5182[label="Integer vyv2810 * vyv282",fontsize=16,color="burlywood",shape="box"];7549[label="vyv282/Integer vyv2820",fontsize=10,color="white",style="solid",shape="box"];5182 -> 7549[label="",style="solid", color="burlywood", weight=9]; 7549 -> 5270[label="",style="solid", color="burlywood", weight=3]; 3534[label="Integer vyv2960 `quot` reduce2D vyv298 vyv297",fontsize=16,color="black",shape="box"];3534 -> 3554[label="",style="solid", color="black", weight=3]; 5183 -> 2860[label="",style="dashed", color="red", weight=0]; 5183[label="primMulInt vyv283 vyv284",fontsize=16,color="magenta"];5183 -> 5271[label="",style="dashed", color="magenta", weight=3]; 5183 -> 5272[label="",style="dashed", color="magenta", weight=3]; 5184 -> 2860[label="",style="dashed", color="red", weight=0]; 5184[label="primMulInt vyv283 vyv284",fontsize=16,color="magenta"];5184 -> 5273[label="",style="dashed", color="magenta", weight=3]; 5184 -> 5274[label="",style="dashed", color="magenta", weight=3]; 5185 -> 2860[label="",style="dashed", color="red", weight=0]; 5185[label="primMulInt vyv281 vyv282",fontsize=16,color="magenta"];5185 -> 5275[label="",style="dashed", color="magenta", weight=3]; 5185 -> 5276[label="",style="dashed", color="magenta", weight=3]; 5186[label="Integer vyv2830 * vyv284",fontsize=16,color="burlywood",shape="box"];7550[label="vyv284/Integer vyv2840",fontsize=10,color="white",style="solid",shape="box"];5186 -> 7550[label="",style="solid", color="burlywood", weight=9]; 7550 -> 5277[label="",style="solid", color="burlywood", weight=3]; 5187[label="Integer vyv2830 * vyv284",fontsize=16,color="burlywood",shape="box"];7551[label="vyv284/Integer vyv2840",fontsize=10,color="white",style="solid",shape="box"];5187 -> 7551[label="",style="solid", color="burlywood", weight=9]; 7551 -> 5278[label="",style="solid", color="burlywood", weight=3]; 5188[label="Integer vyv2810 * vyv282",fontsize=16,color="burlywood",shape="box"];7552[label="vyv282/Integer vyv2820",fontsize=10,color="white",style="solid",shape="box"];5188 -> 7552[label="",style="solid", color="burlywood", weight=9]; 7552 -> 5279[label="",style="solid", color="burlywood", weight=3]; 499[label="pr2F0G1 (vyv12 * vyv12) vyv12 (Neg vyv25) (primEvenNat vyv25)",fontsize=16,color="burlywood",shape="box"];7553[label="vyv25/Succ vyv250",fontsize=10,color="white",style="solid",shape="box"];499 -> 7553[label="",style="solid", color="burlywood", weight=9]; 7553 -> 517[label="",style="solid", color="burlywood", weight=3]; 7554[label="vyv25/Zero",fontsize=10,color="white",style="solid",shape="box"];499 -> 7554[label="",style="solid", color="burlywood", weight=9]; 7554 -> 518[label="",style="solid", color="burlywood", weight=3]; 2866[label="vyv120",fontsize=16,color="green",shape="box"];2867[label="vyv120",fontsize=16,color="green",shape="box"];609 -> 1514[label="",style="dashed", color="red", weight=0]; 609[label="pr2F0G1 (vyv20 * vyv20) vyv20 (Pos (Succ (Succ vyv2700))) (primEvenNat vyv2700)",fontsize=16,color="magenta"];609 -> 1515[label="",style="dashed", color="magenta", weight=3]; 609 -> 1516[label="",style="dashed", color="magenta", weight=3]; 609 -> 1517[label="",style="dashed", color="magenta", weight=3]; 610 -> 883[label="",style="dashed", color="red", weight=0]; 610[label="pr2F0G1 (vyv20 * vyv20) vyv20 (Pos (Succ Zero)) False",fontsize=16,color="magenta"];610 -> 884[label="",style="dashed", color="magenta", weight=3]; 610 -> 885[label="",style="dashed", color="magenta", weight=3]; 611 -> 2645[label="",style="dashed", color="red", weight=0]; 611[label="pr2F0G (vyv20 * vyv20) (vyv20 * vyv20) (Pos Zero `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];611 -> 2661[label="",style="dashed", color="magenta", weight=3]; 611 -> 2662[label="",style="dashed", color="magenta", weight=3]; 611 -> 2663[label="",style="dashed", color="magenta", weight=3]; 4079 -> 3445[label="",style="dashed", color="red", weight=0]; 4079[label="primMinusNatS (Succ vyv293000) Zero",fontsize=16,color="magenta"];4079 -> 4091[label="",style="dashed", color="magenta", weight=3]; 4080[label="Zero",fontsize=16,color="green",shape="box"];4081 -> 3446[label="",style="dashed", color="red", weight=0]; 4081[label="primMinusNatS Zero Zero",fontsize=16,color="magenta"];4082[label="Zero",fontsize=16,color="green",shape="box"];6906 -> 3924[label="",style="dashed", color="red", weight=0]; 6906[label="primDivNatS (primMinusNatS (Succ vyv400) (Succ vyv401)) (Succ (Succ vyv401))",fontsize=16,color="magenta"];6906 -> 6965[label="",style="dashed", color="magenta", weight=3]; 6906 -> 6966[label="",style="dashed", color="magenta", weight=3]; 6972[label="vyv264",fontsize=16,color="green",shape="box"];6973[label="vyv264",fontsize=16,color="green",shape="box"];6974[label="vyv264",fontsize=16,color="green",shape="box"];6975[label="vyv264",fontsize=16,color="green",shape="box"];6976[label="vyv264",fontsize=16,color="green",shape="box"];6977 -> 29[label="",style="dashed", color="red", weight=0]; 6977[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];6978 -> 2890[label="",style="dashed", color="red", weight=0]; 6978[label="vyv266 `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];6978 -> 6991[label="",style="dashed", color="magenta", weight=3]; 6979 -> 30[label="",style="dashed", color="red", weight=0]; 6979[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];6980 -> 2891[label="",style="dashed", color="red", weight=0]; 6980[label="vyv266 `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];6980 -> 6992[label="",style="dashed", color="magenta", weight=3]; 6981[label="pr2F4 vyv414 (vyv416 - fromInt (Pos (Succ Zero))) (vyv414 * (vyv414 * vyv415))",fontsize=16,color="black",shape="box"];6981 -> 6993[label="",style="solid", color="black", weight=3]; 5224[label="vyv264",fontsize=16,color="green",shape="box"];5225[label="vyv264",fontsize=16,color="green",shape="box"];5226[label="vyv264",fontsize=16,color="green",shape="box"];5227[label="Integer (primMulInt vyv2640 vyv2640)",fontsize=16,color="green",shape="box"];5227 -> 5381[label="",style="dashed", color="green", weight=3]; 5228 -> 2800[label="",style="dashed", color="red", weight=0]; 5228[label="reduce (vyv2640 * vyv2640) (vyv2641 * vyv2641)",fontsize=16,color="magenta"];5228 -> 5382[label="",style="dashed", color="magenta", weight=3]; 5228 -> 5383[label="",style="dashed", color="magenta", weight=3]; 3492[label="vyv266",fontsize=16,color="green",shape="box"];3493[label="vyv266",fontsize=16,color="green",shape="box"];5229[label="vyv265",fontsize=16,color="green",shape="box"];5230[label="vyv264 * vyv264",fontsize=16,color="black",shape="box"];5230 -> 6216[label="",style="solid", color="black", weight=3]; 5231[label="vyv264 * vyv264",fontsize=16,color="black",shape="box"];5231 -> 6144[label="",style="solid", color="black", weight=3]; 5232[label="vyv265",fontsize=16,color="green",shape="box"];5233[label="vyv265",fontsize=16,color="green",shape="box"];5234[label="vyv264 * vyv264",fontsize=16,color="black",shape="box"];5234 -> 6199[label="",style="solid", color="black", weight=3]; 5235[label="Integer (primMulInt vyv2640 vyv2640) * vyv265",fontsize=16,color="burlywood",shape="box"];7555[label="vyv265/Integer vyv2650",fontsize=10,color="white",style="solid",shape="box"];5235 -> 7555[label="",style="solid", color="burlywood", weight=9]; 7555 -> 6250[label="",style="solid", color="burlywood", weight=3]; 5236[label="reduce (vyv2640 * vyv2640) (vyv2641 * vyv2641) * vyv265",fontsize=16,color="black",shape="box"];5236 -> 6242[label="",style="solid", color="black", weight=3]; 6614 -> 3298[label="",style="dashed", color="red", weight=0]; 6614[label="reduce2Reduce1 (vyv3880 * vyv2430) (vyv3881 * vyv2431) (vyv3880 * vyv2430) (vyv3881 * vyv2431) (vyv3881 * vyv2431 == fromInt (Pos Zero))",fontsize=16,color="magenta"];6614 -> 6678[label="",style="dashed", color="magenta", weight=3]; 6614 -> 6679[label="",style="dashed", color="magenta", weight=3]; 6614 -> 6680[label="",style="dashed", color="magenta", weight=3]; 6614 -> 6681[label="",style="dashed", color="magenta", weight=3]; 6614 -> 6682[label="",style="dashed", color="magenta", weight=3]; 5262[label="vyv282",fontsize=16,color="green",shape="box"];5263[label="vyv281",fontsize=16,color="green",shape="box"];5264[label="vyv284",fontsize=16,color="green",shape="box"];5265[label="vyv283",fontsize=16,color="green",shape="box"];5266[label="vyv282",fontsize=16,color="green",shape="box"];5267[label="vyv281",fontsize=16,color="green",shape="box"];3552[label="primQuotInt (Pos vyv2930) (reduce2D vyv295 vyv294)",fontsize=16,color="black",shape="box"];3552 -> 3561[label="",style="solid", color="black", weight=3]; 3553[label="primQuotInt (Neg vyv2930) (reduce2D vyv295 vyv294)",fontsize=16,color="black",shape="box"];3553 -> 3562[label="",style="solid", color="black", weight=3]; 5268[label="Integer vyv2810 * Integer vyv2820",fontsize=16,color="black",shape="box"];5268 -> 5380[label="",style="solid", color="black", weight=3]; 5269[label="Integer vyv2830 * Integer vyv2840",fontsize=16,color="black",shape="box"];5269 -> 5389[label="",style="solid", color="black", weight=3]; 5270[label="Integer vyv2810 * Integer vyv2820",fontsize=16,color="black",shape="box"];5270 -> 5390[label="",style="solid", color="black", weight=3]; 3554 -> 3813[label="",style="dashed", color="red", weight=0]; 3554[label="Integer vyv2960 `quot` gcd vyv298 vyv297",fontsize=16,color="magenta"];3554 -> 3816[label="",style="dashed", color="magenta", weight=3]; 5271[label="vyv284",fontsize=16,color="green",shape="box"];5272[label="vyv283",fontsize=16,color="green",shape="box"];5273[label="vyv284",fontsize=16,color="green",shape="box"];5274[label="vyv283",fontsize=16,color="green",shape="box"];5275[label="vyv282",fontsize=16,color="green",shape="box"];5276[label="vyv281",fontsize=16,color="green",shape="box"];5277[label="Integer vyv2830 * Integer vyv2840",fontsize=16,color="black",shape="box"];5277 -> 5391[label="",style="solid", color="black", weight=3]; 5278[label="Integer vyv2830 * Integer vyv2840",fontsize=16,color="black",shape="box"];5278 -> 5392[label="",style="solid", color="black", weight=3]; 5279[label="Integer vyv2810 * Integer vyv2820",fontsize=16,color="black",shape="box"];5279 -> 5393[label="",style="solid", color="black", weight=3]; 517[label="pr2F0G1 (vyv12 * vyv12) vyv12 (Neg (Succ vyv250)) (primEvenNat (Succ vyv250))",fontsize=16,color="burlywood",shape="box"];7556[label="vyv250/Succ vyv2500",fontsize=10,color="white",style="solid",shape="box"];517 -> 7556[label="",style="solid", color="burlywood", weight=9]; 7556 -> 614[label="",style="solid", color="burlywood", weight=3]; 7557[label="vyv250/Zero",fontsize=10,color="white",style="solid",shape="box"];517 -> 7557[label="",style="solid", color="burlywood", weight=9]; 7557 -> 615[label="",style="solid", color="burlywood", weight=3]; 518[label="pr2F0G1 (vyv12 * vyv12) vyv12 (Neg Zero) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];518 -> 616[label="",style="solid", color="black", weight=3]; 1515[label="vyv20",fontsize=16,color="green",shape="box"];1516[label="Succ vyv2700",fontsize=16,color="green",shape="box"];1517[label="vyv2700",fontsize=16,color="green",shape="box"];1514[label="pr2F0G1 (vyv121 * vyv121) vyv121 (Pos (Succ vyv122)) (primEvenNat vyv123)",fontsize=16,color="burlywood",shape="triangle"];7558[label="vyv123/Succ vyv1230",fontsize=10,color="white",style="solid",shape="box"];1514 -> 7558[label="",style="solid", color="burlywood", weight=9]; 7558 -> 1530[label="",style="solid", color="burlywood", weight=3]; 7559[label="vyv123/Zero",fontsize=10,color="white",style="solid",shape="box"];1514 -> 7559[label="",style="solid", color="burlywood", weight=9]; 7559 -> 1531[label="",style="solid", color="burlywood", weight=3]; 884[label="Zero",fontsize=16,color="green",shape="box"];885[label="vyv20",fontsize=16,color="green",shape="box"];883[label="pr2F0G1 (vyv63 * vyv63) vyv63 (Pos (Succ vyv64)) False",fontsize=16,color="black",shape="triangle"];883 -> 894[label="",style="solid", color="black", weight=3]; 2661[label="vyv20",fontsize=16,color="green",shape="box"];2662[label="Pos Zero",fontsize=16,color="green",shape="box"];2663[label="vyv20 * vyv20",fontsize=16,color="blue",shape="box"];7560[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];2663 -> 7560[label="",style="solid", color="blue", weight=9]; 7560 -> 2753[label="",style="solid", color="blue", weight=3]; 7561[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];2663 -> 7561[label="",style="solid", color="blue", weight=9]; 7561 -> 2754[label="",style="solid", color="blue", weight=3]; 7562[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];2663 -> 7562[label="",style="solid", color="blue", weight=9]; 7562 -> 2755[label="",style="solid", color="blue", weight=3]; 7563[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];2663 -> 7563[label="",style="solid", color="blue", weight=9]; 7563 -> 2756[label="",style="solid", color="blue", weight=3]; 7564[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];2663 -> 7564[label="",style="solid", color="blue", weight=9]; 7564 -> 2757[label="",style="solid", color="blue", weight=3]; 4091[label="vyv293000",fontsize=16,color="green",shape="box"];3445[label="primMinusNatS (Succ vyv2220000) Zero",fontsize=16,color="black",shape="triangle"];3445 -> 3489[label="",style="solid", color="black", weight=3]; 3446[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="triangle"];3446 -> 3490[label="",style="solid", color="black", weight=3]; 6965[label="primMinusNatS (Succ vyv400) (Succ vyv401)",fontsize=16,color="black",shape="box"];6965 -> 6982[label="",style="solid", color="black", weight=3]; 6966[label="Succ vyv401",fontsize=16,color="green",shape="box"];6991[label="vyv266",fontsize=16,color="green",shape="box"];6992[label="vyv266",fontsize=16,color="green",shape="box"];6993 -> 7004[label="",style="dashed", color="red", weight=0]; 6993[label="pr2F3 (vyv416 - fromInt (Pos (Succ Zero)) == fromInt (Pos Zero)) vyv414 (vyv416 - fromInt (Pos (Succ Zero))) (vyv414 * (vyv414 * vyv415))",fontsize=16,color="magenta"];6993 -> 7005[label="",style="dashed", color="magenta", weight=3]; 6993 -> 7006[label="",style="dashed", color="magenta", weight=3]; 6993 -> 7007[label="",style="dashed", color="magenta", weight=3]; 6993 -> 7008[label="",style="dashed", color="magenta", weight=3]; 5381 -> 2745[label="",style="dashed", color="red", weight=0]; 5381[label="primMulInt vyv2640 vyv2640",fontsize=16,color="magenta"];5381 -> 5562[label="",style="dashed", color="magenta", weight=3]; 5382[label="vyv2641",fontsize=16,color="green",shape="box"];5383[label="vyv2640",fontsize=16,color="green",shape="box"];6216 -> 2743[label="",style="dashed", color="red", weight=0]; 6216[label="primMulFloat vyv264 vyv264",fontsize=16,color="magenta"];6216 -> 6333[label="",style="dashed", color="magenta", weight=3]; 6144 -> 2744[label="",style="dashed", color="red", weight=0]; 6144[label="primMulDouble vyv264 vyv264",fontsize=16,color="magenta"];6144 -> 6334[label="",style="dashed", color="magenta", weight=3]; 6199 -> 2745[label="",style="dashed", color="red", weight=0]; 6199[label="primMulInt vyv264 vyv264",fontsize=16,color="magenta"];6199 -> 6335[label="",style="dashed", color="magenta", weight=3]; 6250[label="Integer (primMulInt vyv2640 vyv2640) * Integer vyv2650",fontsize=16,color="black",shape="box"];6250 -> 6336[label="",style="solid", color="black", weight=3]; 6242 -> 6289[label="",style="dashed", color="red", weight=0]; 6242[label="reduce2 (vyv2640 * vyv2640) (vyv2641 * vyv2641) * vyv265",fontsize=16,color="magenta"];6242 -> 6291[label="",style="dashed", color="magenta", weight=3]; 6242 -> 6292[label="",style="dashed", color="magenta", weight=3]; 6678[label="vyv3881",fontsize=16,color="green",shape="box"];6679[label="vyv2431",fontsize=16,color="green",shape="box"];6680[label="vyv2430",fontsize=16,color="green",shape="box"];6681[label="vyv3881 * vyv2431 == fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];7565[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];6681 -> 7565[label="",style="solid", color="blue", weight=9]; 7565 -> 6775[label="",style="solid", color="blue", weight=3]; 7566[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];6681 -> 7566[label="",style="solid", color="blue", weight=9]; 7566 -> 6776[label="",style="solid", color="blue", weight=3]; 6682[label="vyv3880",fontsize=16,color="green",shape="box"];3561 -> 3852[label="",style="dashed", color="red", weight=0]; 3561[label="primQuotInt (Pos vyv2930) (gcd vyv295 vyv294)",fontsize=16,color="magenta"];3561 -> 3855[label="",style="dashed", color="magenta", weight=3]; 3562[label="primQuotInt (Neg vyv2930) (gcd vyv295 vyv294)",fontsize=16,color="black",shape="box"];3562 -> 3588[label="",style="solid", color="black", weight=3]; 5380[label="Integer (primMulInt vyv2810 vyv2820)",fontsize=16,color="green",shape="box"];5380 -> 5561[label="",style="dashed", color="green", weight=3]; 5389[label="Integer (primMulInt vyv2830 vyv2840)",fontsize=16,color="green",shape="box"];5389 -> 5564[label="",style="dashed", color="green", weight=3]; 5390[label="Integer (primMulInt vyv2810 vyv2820)",fontsize=16,color="green",shape="box"];5390 -> 5565[label="",style="dashed", color="green", weight=3]; 3816[label="gcd vyv298 vyv297",fontsize=16,color="black",shape="box"];3816 -> 3830[label="",style="solid", color="black", weight=3]; 5391[label="Integer (primMulInt vyv2830 vyv2840)",fontsize=16,color="green",shape="box"];5391 -> 5566[label="",style="dashed", color="green", weight=3]; 5392[label="Integer (primMulInt vyv2830 vyv2840)",fontsize=16,color="green",shape="box"];5392 -> 5567[label="",style="dashed", color="green", weight=3]; 5393[label="Integer (primMulInt vyv2810 vyv2820)",fontsize=16,color="green",shape="box"];5393 -> 5568[label="",style="dashed", color="green", weight=3]; 614[label="pr2F0G1 (vyv12 * vyv12) vyv12 (Neg (Succ (Succ vyv2500))) (primEvenNat (Succ (Succ vyv2500)))",fontsize=16,color="black",shape="box"];614 -> 640[label="",style="solid", color="black", weight=3]; 615[label="pr2F0G1 (vyv12 * vyv12) vyv12 (Neg (Succ Zero)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];615 -> 641[label="",style="solid", color="black", weight=3]; 616[label="pr2F0G1 (vyv12 * vyv12) vyv12 (Neg Zero) True",fontsize=16,color="black",shape="box"];616 -> 642[label="",style="solid", color="black", weight=3]; 1530[label="pr2F0G1 (vyv121 * vyv121) vyv121 (Pos (Succ vyv122)) (primEvenNat (Succ vyv1230))",fontsize=16,color="burlywood",shape="box"];7567[label="vyv1230/Succ vyv12300",fontsize=10,color="white",style="solid",shape="box"];1530 -> 7567[label="",style="solid", color="burlywood", weight=9]; 7567 -> 1546[label="",style="solid", color="burlywood", weight=3]; 7568[label="vyv1230/Zero",fontsize=10,color="white",style="solid",shape="box"];1530 -> 7568[label="",style="solid", color="burlywood", weight=9]; 7568 -> 1547[label="",style="solid", color="burlywood", weight=3]; 1531[label="pr2F0G1 (vyv121 * vyv121) vyv121 (Pos (Succ vyv122)) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];1531 -> 1548[label="",style="solid", color="black", weight=3]; 894[label="pr2F0G0 (vyv63 * vyv63) vyv63 (Pos (Succ vyv64)) otherwise",fontsize=16,color="black",shape="box"];894 -> 902[label="",style="solid", color="black", weight=3]; 2753[label="vyv20 * vyv20",fontsize=16,color="black",shape="box"];2753 -> 5162[label="",style="solid", color="black", weight=3]; 2754[label="vyv20 * vyv20",fontsize=16,color="black",shape="box"];2754 -> 5163[label="",style="solid", color="black", weight=3]; 2755[label="vyv20 * vyv20",fontsize=16,color="black",shape="box"];2755 -> 5164[label="",style="solid", color="black", weight=3]; 2756[label="vyv20 * vyv20",fontsize=16,color="burlywood",shape="box"];7569[label="vyv20/Integer vyv200",fontsize=10,color="white",style="solid",shape="box"];2756 -> 7569[label="",style="solid", color="burlywood", weight=9]; 7569 -> 5165[label="",style="solid", color="burlywood", weight=3]; 2757[label="vyv20 * vyv20",fontsize=16,color="burlywood",shape="box"];7570[label="vyv20/vyv200 :% vyv201",fontsize=10,color="white",style="solid",shape="box"];2757 -> 7570[label="",style="solid", color="burlywood", weight=9]; 7570 -> 5166[label="",style="solid", color="burlywood", weight=3]; 3489[label="Succ vyv2220000",fontsize=16,color="green",shape="box"];3490[label="Zero",fontsize=16,color="green",shape="box"];6982[label="primMinusNatS vyv400 vyv401",fontsize=16,color="burlywood",shape="triangle"];7571[label="vyv400/Succ vyv4000",fontsize=10,color="white",style="solid",shape="box"];6982 -> 7571[label="",style="solid", color="burlywood", weight=9]; 7571 -> 6994[label="",style="solid", color="burlywood", weight=3]; 7572[label="vyv400/Zero",fontsize=10,color="white",style="solid",shape="box"];6982 -> 7572[label="",style="solid", color="burlywood", weight=9]; 7572 -> 6995[label="",style="solid", color="burlywood", weight=3]; 7005[label="vyv416 - fromInt (Pos (Succ Zero)) == fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];7573[label="== :: -> Int (-> Int Bool)",fontsize=10,color="white",style="solid",shape="box"];7005 -> 7573[label="",style="solid", color="blue", weight=9]; 7573 -> 7009[label="",style="solid", color="blue", weight=3]; 7574[label="== :: -> Integer (-> Integer Bool)",fontsize=10,color="white",style="solid",shape="box"];7005 -> 7574[label="",style="solid", color="blue", weight=9]; 7574 -> 7010[label="",style="solid", color="blue", weight=3]; 7006[label="vyv414",fontsize=16,color="green",shape="box"];7007[label="vyv416",fontsize=16,color="green",shape="box"];7008[label="vyv415",fontsize=16,color="green",shape="box"];7004[label="pr2F3 vyv422 vyv423 (vyv424 - fromInt (Pos (Succ Zero))) (vyv423 * (vyv423 * vyv425))",fontsize=16,color="burlywood",shape="triangle"];7575[label="vyv422/False",fontsize=10,color="white",style="solid",shape="box"];7004 -> 7575[label="",style="solid", color="burlywood", weight=9]; 7575 -> 7011[label="",style="solid", color="burlywood", weight=3]; 7576[label="vyv422/True",fontsize=10,color="white",style="solid",shape="box"];7004 -> 7576[label="",style="solid", color="burlywood", weight=9]; 7576 -> 7012[label="",style="solid", color="burlywood", weight=3]; 5562[label="vyv2640",fontsize=16,color="green",shape="box"];6333[label="vyv264",fontsize=16,color="green",shape="box"];6334[label="vyv264",fontsize=16,color="green",shape="box"];6335[label="vyv264",fontsize=16,color="green",shape="box"];6336[label="Integer (primMulInt (primMulInt vyv2640 vyv2640) vyv2650)",fontsize=16,color="green",shape="box"];6336 -> 6424[label="",style="dashed", color="green", weight=3]; 6291 -> 2840[label="",style="dashed", color="red", weight=0]; 6291[label="reduce2 (vyv2640 * vyv2640) (vyv2641 * vyv2641)",fontsize=16,color="magenta"];6291 -> 6337[label="",style="dashed", color="magenta", weight=3]; 6291 -> 6338[label="",style="dashed", color="magenta", weight=3]; 6292[label="vyv265",fontsize=16,color="green",shape="box"];6775 -> 554[label="",style="dashed", color="red", weight=0]; 6775[label="vyv3881 * vyv2431 == fromInt (Pos Zero)",fontsize=16,color="magenta"];6775 -> 6812[label="",style="dashed", color="magenta", weight=3]; 6776 -> 2947[label="",style="dashed", color="red", weight=0]; 6776[label="vyv3881 * vyv2431 == fromInt (Pos Zero)",fontsize=16,color="magenta"];6776 -> 6813[label="",style="dashed", color="magenta", weight=3]; 3855[label="gcd vyv295 vyv294",fontsize=16,color="black",shape="box"];3855 -> 3871[label="",style="solid", color="black", weight=3]; 3588[label="primQuotInt (Neg vyv2930) (gcd3 vyv295 vyv294)",fontsize=16,color="black",shape="box"];3588 -> 3622[label="",style="solid", color="black", weight=3]; 5561 -> 2860[label="",style="dashed", color="red", weight=0]; 5561[label="primMulInt vyv2810 vyv2820",fontsize=16,color="magenta"];5561 -> 5592[label="",style="dashed", color="magenta", weight=3]; 5561 -> 5593[label="",style="dashed", color="magenta", weight=3]; 5564 -> 2860[label="",style="dashed", color="red", weight=0]; 5564[label="primMulInt vyv2830 vyv2840",fontsize=16,color="magenta"];5564 -> 5595[label="",style="dashed", color="magenta", weight=3]; 5564 -> 5596[label="",style="dashed", color="magenta", weight=3]; 5565 -> 2860[label="",style="dashed", color="red", weight=0]; 5565[label="primMulInt vyv2810 vyv2820",fontsize=16,color="magenta"];5565 -> 5597[label="",style="dashed", color="magenta", weight=3]; 5565 -> 5598[label="",style="dashed", color="magenta", weight=3]; 3830[label="gcd3 vyv298 vyv297",fontsize=16,color="black",shape="box"];3830 -> 3851[label="",style="solid", color="black", weight=3]; 5566 -> 2860[label="",style="dashed", color="red", weight=0]; 5566[label="primMulInt vyv2830 vyv2840",fontsize=16,color="magenta"];5566 -> 5599[label="",style="dashed", color="magenta", weight=3]; 5566 -> 5600[label="",style="dashed", color="magenta", weight=3]; 5567 -> 2860[label="",style="dashed", color="red", weight=0]; 5567[label="primMulInt vyv2830 vyv2840",fontsize=16,color="magenta"];5567 -> 5601[label="",style="dashed", color="magenta", weight=3]; 5567 -> 5602[label="",style="dashed", color="magenta", weight=3]; 5568 -> 2860[label="",style="dashed", color="red", weight=0]; 5568[label="primMulInt vyv2810 vyv2820",fontsize=16,color="magenta"];5568 -> 5603[label="",style="dashed", color="magenta", weight=3]; 5568 -> 5604[label="",style="dashed", color="magenta", weight=3]; 640 -> 1465[label="",style="dashed", color="red", weight=0]; 640[label="pr2F0G1 (vyv12 * vyv12) vyv12 (Neg (Succ (Succ vyv2500))) (primEvenNat vyv2500)",fontsize=16,color="magenta"];640 -> 1466[label="",style="dashed", color="magenta", weight=3]; 640 -> 1467[label="",style="dashed", color="magenta", weight=3]; 640 -> 1468[label="",style="dashed", color="magenta", weight=3]; 641 -> 1157[label="",style="dashed", color="red", weight=0]; 641[label="pr2F0G1 (vyv12 * vyv12) vyv12 (Neg (Succ Zero)) False",fontsize=16,color="magenta"];641 -> 1158[label="",style="dashed", color="magenta", weight=3]; 641 -> 1159[label="",style="dashed", color="magenta", weight=3]; 642 -> 2645[label="",style="dashed", color="red", weight=0]; 642[label="pr2F0G (vyv12 * vyv12) (vyv12 * vyv12) (Neg Zero `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];642 -> 2667[label="",style="dashed", color="magenta", weight=3]; 642 -> 2668[label="",style="dashed", color="magenta", weight=3]; 642 -> 2669[label="",style="dashed", color="magenta", weight=3]; 1546[label="pr2F0G1 (vyv121 * vyv121) vyv121 (Pos (Succ vyv122)) (primEvenNat (Succ (Succ vyv12300)))",fontsize=16,color="black",shape="box"];1546 -> 1559[label="",style="solid", color="black", weight=3]; 1547[label="pr2F0G1 (vyv121 * vyv121) vyv121 (Pos (Succ vyv122)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];1547 -> 1560[label="",style="solid", color="black", weight=3]; 1548[label="pr2F0G1 (vyv121 * vyv121) vyv121 (Pos (Succ vyv122)) True",fontsize=16,color="black",shape="box"];1548 -> 1561[label="",style="solid", color="black", weight=3]; 902 -> 6926[label="",style="dashed", color="red", weight=0]; 902[label="pr2F0G0 (vyv63 * vyv63) vyv63 (Pos (Succ vyv64)) True",fontsize=16,color="magenta"];902 -> 6930[label="",style="dashed", color="magenta", weight=3]; 902 -> 6931[label="",style="dashed", color="magenta", weight=3]; 902 -> 6932[label="",style="dashed", color="magenta", weight=3]; 5162 -> 2743[label="",style="dashed", color="red", weight=0]; 5162[label="primMulFloat vyv20 vyv20",fontsize=16,color="magenta"];5163 -> 2744[label="",style="dashed", color="red", weight=0]; 5163[label="primMulDouble vyv20 vyv20",fontsize=16,color="magenta"];5164 -> 2745[label="",style="dashed", color="red", weight=0]; 5164[label="primMulInt vyv20 vyv20",fontsize=16,color="magenta"];5165[label="Integer vyv200 * Integer vyv200",fontsize=16,color="black",shape="box"];5165 -> 5247[label="",style="solid", color="black", weight=3]; 5166[label="vyv200 :% vyv201 * (vyv200 :% vyv201)",fontsize=16,color="black",shape="box"];5166 -> 5248[label="",style="solid", color="black", weight=3]; 6994[label="primMinusNatS (Succ vyv4000) vyv401",fontsize=16,color="burlywood",shape="box"];7577[label="vyv401/Succ vyv4010",fontsize=10,color="white",style="solid",shape="box"];6994 -> 7577[label="",style="solid", color="burlywood", weight=9]; 7577 -> 7013[label="",style="solid", color="burlywood", weight=3]; 7578[label="vyv401/Zero",fontsize=10,color="white",style="solid",shape="box"];6994 -> 7578[label="",style="solid", color="burlywood", weight=9]; 7578 -> 7014[label="",style="solid", color="burlywood", weight=3]; 6995[label="primMinusNatS Zero vyv401",fontsize=16,color="burlywood",shape="box"];7579[label="vyv401/Succ vyv4010",fontsize=10,color="white",style="solid",shape="box"];6995 -> 7579[label="",style="solid", color="burlywood", weight=9]; 7579 -> 7015[label="",style="solid", color="burlywood", weight=3]; 7580[label="vyv401/Zero",fontsize=10,color="white",style="solid",shape="box"];6995 -> 7580[label="",style="solid", color="burlywood", weight=9]; 7580 -> 7016[label="",style="solid", color="burlywood", weight=3]; 7009 -> 554[label="",style="dashed", color="red", weight=0]; 7009[label="vyv416 - fromInt (Pos (Succ Zero)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];7009 -> 7022[label="",style="dashed", color="magenta", weight=3]; 7010 -> 2947[label="",style="dashed", color="red", weight=0]; 7010[label="vyv416 - fromInt (Pos (Succ Zero)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];7010 -> 7023[label="",style="dashed", color="magenta", weight=3]; 7011[label="pr2F3 False vyv423 (vyv424 - fromInt (Pos (Succ Zero))) (vyv423 * (vyv423 * vyv425))",fontsize=16,color="black",shape="box"];7011 -> 7024[label="",style="solid", color="black", weight=3]; 7012[label="pr2F3 True vyv423 (vyv424 - fromInt (Pos (Succ Zero))) (vyv423 * (vyv423 * vyv425))",fontsize=16,color="black",shape="box"];7012 -> 7025[label="",style="solid", color="black", weight=3]; 6424 -> 2860[label="",style="dashed", color="red", weight=0]; 6424[label="primMulInt (primMulInt vyv2640 vyv2640) vyv2650",fontsize=16,color="magenta"];6424 -> 6586[label="",style="dashed", color="magenta", weight=3]; 6424 -> 6587[label="",style="dashed", color="magenta", weight=3]; 6337[label="vyv2641",fontsize=16,color="green",shape="box"];6338[label="vyv2640",fontsize=16,color="green",shape="box"];6812 -> 2897[label="",style="dashed", color="red", weight=0]; 6812[label="vyv3881 * vyv2431",fontsize=16,color="magenta"];6812 -> 6864[label="",style="dashed", color="magenta", weight=3]; 6812 -> 6865[label="",style="dashed", color="magenta", weight=3]; 6813 -> 3515[label="",style="dashed", color="red", weight=0]; 6813[label="vyv3881 * vyv2431",fontsize=16,color="magenta"];6813 -> 6866[label="",style="dashed", color="magenta", weight=3]; 6813 -> 6867[label="",style="dashed", color="magenta", weight=3]; 3871[label="gcd3 vyv295 vyv294",fontsize=16,color="black",shape="box"];3871 -> 3880[label="",style="solid", color="black", weight=3]; 3622 -> 3642[label="",style="dashed", color="red", weight=0]; 3622[label="primQuotInt (Neg vyv2930) (gcd2 (vyv295 == fromInt (Pos Zero)) vyv295 vyv294)",fontsize=16,color="magenta"];3622 -> 3643[label="",style="dashed", color="magenta", weight=3]; 5592[label="vyv2820",fontsize=16,color="green",shape="box"];5593[label="vyv2810",fontsize=16,color="green",shape="box"];5595[label="vyv2840",fontsize=16,color="green",shape="box"];5596[label="vyv2830",fontsize=16,color="green",shape="box"];5597[label="vyv2820",fontsize=16,color="green",shape="box"];5598[label="vyv2810",fontsize=16,color="green",shape="box"];3851 -> 3872[label="",style="dashed", color="red", weight=0]; 3851[label="gcd2 (vyv298 == fromInt (Pos Zero)) vyv298 vyv297",fontsize=16,color="magenta"];3851 -> 3873[label="",style="dashed", color="magenta", weight=3]; 5599[label="vyv2840",fontsize=16,color="green",shape="box"];5600[label="vyv2830",fontsize=16,color="green",shape="box"];5601[label="vyv2840",fontsize=16,color="green",shape="box"];5602[label="vyv2830",fontsize=16,color="green",shape="box"];5603[label="vyv2820",fontsize=16,color="green",shape="box"];5604[label="vyv2810",fontsize=16,color="green",shape="box"];1466[label="vyv12",fontsize=16,color="green",shape="box"];1467[label="vyv2500",fontsize=16,color="green",shape="box"];1468[label="Succ vyv2500",fontsize=16,color="green",shape="box"];1465[label="pr2F0G1 (vyv114 * vyv114) vyv114 (Neg (Succ vyv115)) (primEvenNat vyv116)",fontsize=16,color="burlywood",shape="triangle"];7581[label="vyv116/Succ vyv1160",fontsize=10,color="white",style="solid",shape="box"];1465 -> 7581[label="",style="solid", color="burlywood", weight=9]; 7581 -> 1478[label="",style="solid", color="burlywood", weight=3]; 7582[label="vyv116/Zero",fontsize=10,color="white",style="solid",shape="box"];1465 -> 7582[label="",style="solid", color="burlywood", weight=9]; 7582 -> 1479[label="",style="solid", color="burlywood", weight=3]; 1158[label="vyv12",fontsize=16,color="green",shape="box"];1159[label="Zero",fontsize=16,color="green",shape="box"];1157[label="pr2F0G1 (vyv81 * vyv81) vyv81 (Neg (Succ vyv82)) False",fontsize=16,color="black",shape="triangle"];1157 -> 1169[label="",style="solid", color="black", weight=3]; 2667[label="vyv12",fontsize=16,color="green",shape="box"];2668[label="Neg Zero",fontsize=16,color="green",shape="box"];2669[label="vyv12 * vyv12",fontsize=16,color="blue",shape="box"];7583[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];2669 -> 7583[label="",style="solid", color="blue", weight=9]; 7583 -> 2758[label="",style="solid", color="blue", weight=3]; 7584[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];2669 -> 7584[label="",style="solid", color="blue", weight=9]; 7584 -> 2759[label="",style="solid", color="blue", weight=3]; 7585[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];2669 -> 7585[label="",style="solid", color="blue", weight=9]; 7585 -> 2760[label="",style="solid", color="blue", weight=3]; 7586[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];2669 -> 7586[label="",style="solid", color="blue", weight=9]; 7586 -> 2761[label="",style="solid", color="blue", weight=3]; 7587[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];2669 -> 7587[label="",style="solid", color="blue", weight=9]; 7587 -> 2762[label="",style="solid", color="blue", weight=3]; 1559 -> 1514[label="",style="dashed", color="red", weight=0]; 1559[label="pr2F0G1 (vyv121 * vyv121) vyv121 (Pos (Succ vyv122)) (primEvenNat vyv12300)",fontsize=16,color="magenta"];1559 -> 1598[label="",style="dashed", color="magenta", weight=3]; 1560 -> 883[label="",style="dashed", color="red", weight=0]; 1560[label="pr2F0G1 (vyv121 * vyv121) vyv121 (Pos (Succ vyv122)) False",fontsize=16,color="magenta"];1560 -> 1599[label="",style="dashed", color="magenta", weight=3]; 1560 -> 1600[label="",style="dashed", color="magenta", weight=3]; 1561 -> 2645[label="",style="dashed", color="red", weight=0]; 1561[label="pr2F0G (vyv121 * vyv121) (vyv121 * vyv121) (Pos (Succ vyv122) `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];1561 -> 2673[label="",style="dashed", color="magenta", weight=3]; 1561 -> 2674[label="",style="dashed", color="magenta", weight=3]; 1561 -> 2675[label="",style="dashed", color="magenta", weight=3]; 6930[label="vyv63",fontsize=16,color="green",shape="box"];6931[label="vyv63",fontsize=16,color="green",shape="box"];6932[label="Pos (Succ vyv64)",fontsize=16,color="green",shape="box"];5247[label="Integer (primMulInt vyv200 vyv200)",fontsize=16,color="green",shape="box"];5247 -> 5396[label="",style="dashed", color="green", weight=3]; 5248 -> 2800[label="",style="dashed", color="red", weight=0]; 5248[label="reduce (vyv200 * vyv200) (vyv201 * vyv201)",fontsize=16,color="magenta"];7013[label="primMinusNatS (Succ vyv4000) (Succ vyv4010)",fontsize=16,color="black",shape="box"];7013 -> 7026[label="",style="solid", color="black", weight=3]; 7014[label="primMinusNatS (Succ vyv4000) Zero",fontsize=16,color="black",shape="box"];7014 -> 7027[label="",style="solid", color="black", weight=3]; 7015[label="primMinusNatS Zero (Succ vyv4010)",fontsize=16,color="black",shape="box"];7015 -> 7028[label="",style="solid", color="black", weight=3]; 7016[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="box"];7016 -> 7029[label="",style="solid", color="black", weight=3]; 7022 -> 3039[label="",style="dashed", color="red", weight=0]; 7022[label="vyv416 - fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7022 -> 7038[label="",style="dashed", color="magenta", weight=3]; 7022 -> 7039[label="",style="dashed", color="magenta", weight=3]; 7023 -> 3054[label="",style="dashed", color="red", weight=0]; 7023[label="vyv416 - fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7023 -> 7040[label="",style="dashed", color="magenta", weight=3]; 7023 -> 7041[label="",style="dashed", color="magenta", weight=3]; 7024[label="pr2F0 vyv423 (vyv424 - fromInt (Pos (Succ Zero))) (vyv423 * (vyv423 * vyv425))",fontsize=16,color="black",shape="box"];7024 -> 7042[label="",style="solid", color="black", weight=3]; 7025[label="vyv423 * (vyv423 * vyv425)",fontsize=16,color="blue",shape="box"];7588[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];7025 -> 7588[label="",style="solid", color="blue", weight=9]; 7588 -> 7043[label="",style="solid", color="blue", weight=3]; 7589[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];7025 -> 7589[label="",style="solid", color="blue", weight=9]; 7589 -> 7044[label="",style="solid", color="blue", weight=3]; 7590[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];7025 -> 7590[label="",style="solid", color="blue", weight=9]; 7590 -> 7045[label="",style="solid", color="blue", weight=3]; 7591[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];7025 -> 7591[label="",style="solid", color="blue", weight=9]; 7591 -> 7046[label="",style="solid", color="blue", weight=3]; 7592[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];7025 -> 7592[label="",style="solid", color="blue", weight=9]; 7592 -> 7047[label="",style="solid", color="blue", weight=3]; 6586[label="vyv2650",fontsize=16,color="green",shape="box"];6587 -> 2745[label="",style="dashed", color="red", weight=0]; 6587[label="primMulInt vyv2640 vyv2640",fontsize=16,color="magenta"];6587 -> 6601[label="",style="dashed", color="magenta", weight=3]; 6864[label="vyv2431",fontsize=16,color="green",shape="box"];6865[label="vyv3881",fontsize=16,color="green",shape="box"];6866[label="vyv2431",fontsize=16,color="green",shape="box"];6867[label="vyv3881",fontsize=16,color="green",shape="box"];3880 -> 3922[label="",style="dashed", color="red", weight=0]; 3880[label="gcd2 (vyv295 == fromInt (Pos Zero)) vyv295 vyv294",fontsize=16,color="magenta"];3880 -> 3923[label="",style="dashed", color="magenta", weight=3]; 3643 -> 554[label="",style="dashed", color="red", weight=0]; 3643[label="vyv295 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3643 -> 3668[label="",style="dashed", color="magenta", weight=3]; 3642[label="primQuotInt (Neg vyv2930) (gcd2 vyv311 vyv295 vyv294)",fontsize=16,color="burlywood",shape="triangle"];7593[label="vyv311/False",fontsize=10,color="white",style="solid",shape="box"];3642 -> 7593[label="",style="solid", color="burlywood", weight=9]; 7593 -> 3669[label="",style="solid", color="burlywood", weight=3]; 7594[label="vyv311/True",fontsize=10,color="white",style="solid",shape="box"];3642 -> 7594[label="",style="solid", color="burlywood", weight=9]; 7594 -> 3670[label="",style="solid", color="burlywood", weight=3]; 3873 -> 2947[label="",style="dashed", color="red", weight=0]; 3873[label="vyv298 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3873 -> 3881[label="",style="dashed", color="magenta", weight=3]; 3872[label="gcd2 vyv328 vyv298 vyv297",fontsize=16,color="burlywood",shape="triangle"];7595[label="vyv328/False",fontsize=10,color="white",style="solid",shape="box"];3872 -> 7595[label="",style="solid", color="burlywood", weight=9]; 7595 -> 3882[label="",style="solid", color="burlywood", weight=3]; 7596[label="vyv328/True",fontsize=10,color="white",style="solid",shape="box"];3872 -> 7596[label="",style="solid", color="burlywood", weight=9]; 7596 -> 3883[label="",style="solid", color="burlywood", weight=3]; 1478[label="pr2F0G1 (vyv114 * vyv114) vyv114 (Neg (Succ vyv115)) (primEvenNat (Succ vyv1160))",fontsize=16,color="burlywood",shape="box"];7597[label="vyv1160/Succ vyv11600",fontsize=10,color="white",style="solid",shape="box"];1478 -> 7597[label="",style="solid", color="burlywood", weight=9]; 7597 -> 1499[label="",style="solid", color="burlywood", weight=3]; 7598[label="vyv1160/Zero",fontsize=10,color="white",style="solid",shape="box"];1478 -> 7598[label="",style="solid", color="burlywood", weight=9]; 7598 -> 1500[label="",style="solid", color="burlywood", weight=3]; 1479[label="pr2F0G1 (vyv114 * vyv114) vyv114 (Neg (Succ vyv115)) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];1479 -> 1501[label="",style="solid", color="black", weight=3]; 1169[label="pr2F0G0 (vyv81 * vyv81) vyv81 (Neg (Succ vyv82)) otherwise",fontsize=16,color="black",shape="box"];1169 -> 1197[label="",style="solid", color="black", weight=3]; 2758[label="vyv12 * vyv12",fontsize=16,color="black",shape="box"];2758 -> 5172[label="",style="solid", color="black", weight=3]; 2759[label="vyv12 * vyv12",fontsize=16,color="black",shape="box"];2759 -> 5173[label="",style="solid", color="black", weight=3]; 2760[label="vyv12 * vyv12",fontsize=16,color="black",shape="box"];2760 -> 5174[label="",style="solid", color="black", weight=3]; 2761[label="vyv12 * vyv12",fontsize=16,color="burlywood",shape="box"];7599[label="vyv12/Integer vyv120",fontsize=10,color="white",style="solid",shape="box"];2761 -> 7599[label="",style="solid", color="burlywood", weight=9]; 7599 -> 5175[label="",style="solid", color="burlywood", weight=3]; 2762[label="vyv12 * vyv12",fontsize=16,color="burlywood",shape="box"];7600[label="vyv12/vyv120 :% vyv121",fontsize=10,color="white",style="solid",shape="box"];2762 -> 7600[label="",style="solid", color="burlywood", weight=9]; 7600 -> 5176[label="",style="solid", color="burlywood", weight=3]; 1598[label="vyv12300",fontsize=16,color="green",shape="box"];1599[label="vyv122",fontsize=16,color="green",shape="box"];1600[label="vyv121",fontsize=16,color="green",shape="box"];2673[label="vyv121",fontsize=16,color="green",shape="box"];2674[label="Pos (Succ vyv122)",fontsize=16,color="green",shape="box"];2675[label="vyv121 * vyv121",fontsize=16,color="blue",shape="box"];7601[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];2675 -> 7601[label="",style="solid", color="blue", weight=9]; 7601 -> 2763[label="",style="solid", color="blue", weight=3]; 7602[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];2675 -> 7602[label="",style="solid", color="blue", weight=9]; 7602 -> 2764[label="",style="solid", color="blue", weight=3]; 7603[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];2675 -> 7603[label="",style="solid", color="blue", weight=9]; 7603 -> 2765[label="",style="solid", color="blue", weight=3]; 7604[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];2675 -> 7604[label="",style="solid", color="blue", weight=9]; 7604 -> 2766[label="",style="solid", color="blue", weight=3]; 7605[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];2675 -> 7605[label="",style="solid", color="blue", weight=9]; 7605 -> 2767[label="",style="solid", color="blue", weight=3]; 5396 -> 2745[label="",style="dashed", color="red", weight=0]; 5396[label="primMulInt vyv200 vyv200",fontsize=16,color="magenta"];5396 -> 5569[label="",style="dashed", color="magenta", weight=3]; 7026 -> 6982[label="",style="dashed", color="red", weight=0]; 7026[label="primMinusNatS vyv4000 vyv4010",fontsize=16,color="magenta"];7026 -> 7048[label="",style="dashed", color="magenta", weight=3]; 7026 -> 7049[label="",style="dashed", color="magenta", weight=3]; 7027[label="Succ vyv4000",fontsize=16,color="green",shape="box"];7028[label="Zero",fontsize=16,color="green",shape="box"];7029[label="Zero",fontsize=16,color="green",shape="box"];7038 -> 29[label="",style="dashed", color="red", weight=0]; 7038[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7039[label="vyv416",fontsize=16,color="green",shape="box"];7040 -> 30[label="",style="dashed", color="red", weight=0]; 7040[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7041[label="vyv416",fontsize=16,color="green",shape="box"];7042[label="pr2F0G (vyv423 * (vyv423 * vyv425)) vyv423 (vyv424 - fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];7042 -> 7058[label="",style="solid", color="black", weight=3]; 7043[label="vyv423 * (vyv423 * vyv425)",fontsize=16,color="black",shape="box"];7043 -> 7059[label="",style="solid", color="black", weight=3]; 7044[label="vyv423 * (vyv423 * vyv425)",fontsize=16,color="black",shape="box"];7044 -> 7060[label="",style="solid", color="black", weight=3]; 7045 -> 2897[label="",style="dashed", color="red", weight=0]; 7045[label="vyv423 * (vyv423 * vyv425)",fontsize=16,color="magenta"];7045 -> 7061[label="",style="dashed", color="magenta", weight=3]; 7045 -> 7062[label="",style="dashed", color="magenta", weight=3]; 7046 -> 3515[label="",style="dashed", color="red", weight=0]; 7046[label="vyv423 * (vyv423 * vyv425)",fontsize=16,color="magenta"];7046 -> 7063[label="",style="dashed", color="magenta", weight=3]; 7046 -> 7064[label="",style="dashed", color="magenta", weight=3]; 7047 -> 6289[label="",style="dashed", color="red", weight=0]; 7047[label="vyv423 * (vyv423 * vyv425)",fontsize=16,color="magenta"];7047 -> 7065[label="",style="dashed", color="magenta", weight=3]; 7047 -> 7066[label="",style="dashed", color="magenta", weight=3]; 6601[label="vyv2640",fontsize=16,color="green",shape="box"];3923 -> 554[label="",style="dashed", color="red", weight=0]; 3923[label="vyv295 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3923 -> 3934[label="",style="dashed", color="magenta", weight=3]; 3922[label="gcd2 vyv330 vyv295 vyv294",fontsize=16,color="burlywood",shape="triangle"];7606[label="vyv330/False",fontsize=10,color="white",style="solid",shape="box"];3922 -> 7606[label="",style="solid", color="burlywood", weight=9]; 7606 -> 3935[label="",style="solid", color="burlywood", weight=3]; 7607[label="vyv330/True",fontsize=10,color="white",style="solid",shape="box"];3922 -> 7607[label="",style="solid", color="burlywood", weight=9]; 7607 -> 3936[label="",style="solid", color="burlywood", weight=3]; 3668[label="vyv295",fontsize=16,color="green",shape="box"];3669[label="primQuotInt (Neg vyv2930) (gcd2 False vyv295 vyv294)",fontsize=16,color="black",shape="box"];3669 -> 3711[label="",style="solid", color="black", weight=3]; 3670[label="primQuotInt (Neg vyv2930) (gcd2 True vyv295 vyv294)",fontsize=16,color="black",shape="box"];3670 -> 3712[label="",style="solid", color="black", weight=3]; 3881[label="vyv298",fontsize=16,color="green",shape="box"];3882[label="gcd2 False vyv298 vyv297",fontsize=16,color="black",shape="box"];3882 -> 3937[label="",style="solid", color="black", weight=3]; 3883[label="gcd2 True vyv298 vyv297",fontsize=16,color="black",shape="box"];3883 -> 3938[label="",style="solid", color="black", weight=3]; 1499[label="pr2F0G1 (vyv114 * vyv114) vyv114 (Neg (Succ vyv115)) (primEvenNat (Succ (Succ vyv11600)))",fontsize=16,color="black",shape="box"];1499 -> 1509[label="",style="solid", color="black", weight=3]; 1500[label="pr2F0G1 (vyv114 * vyv114) vyv114 (Neg (Succ vyv115)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];1500 -> 1510[label="",style="solid", color="black", weight=3]; 1501[label="pr2F0G1 (vyv114 * vyv114) vyv114 (Neg (Succ vyv115)) True",fontsize=16,color="black",shape="box"];1501 -> 1511[label="",style="solid", color="black", weight=3]; 1197 -> 6926[label="",style="dashed", color="red", weight=0]; 1197[label="pr2F0G0 (vyv81 * vyv81) vyv81 (Neg (Succ vyv82)) True",fontsize=16,color="magenta"];1197 -> 6933[label="",style="dashed", color="magenta", weight=3]; 1197 -> 6934[label="",style="dashed", color="magenta", weight=3]; 1197 -> 6935[label="",style="dashed", color="magenta", weight=3]; 5172 -> 2743[label="",style="dashed", color="red", weight=0]; 5172[label="primMulFloat vyv12 vyv12",fontsize=16,color="magenta"];5172 -> 5257[label="",style="dashed", color="magenta", weight=3]; 5173 -> 2744[label="",style="dashed", color="red", weight=0]; 5173[label="primMulDouble vyv12 vyv12",fontsize=16,color="magenta"];5173 -> 5258[label="",style="dashed", color="magenta", weight=3]; 5174 -> 2745[label="",style="dashed", color="red", weight=0]; 5174[label="primMulInt vyv12 vyv12",fontsize=16,color="magenta"];5174 -> 5259[label="",style="dashed", color="magenta", weight=3]; 5175[label="Integer vyv120 * Integer vyv120",fontsize=16,color="black",shape="box"];5175 -> 5260[label="",style="solid", color="black", weight=3]; 5176[label="vyv120 :% vyv121 * (vyv120 :% vyv121)",fontsize=16,color="black",shape="box"];5176 -> 5261[label="",style="solid", color="black", weight=3]; 2763[label="vyv121 * vyv121",fontsize=16,color="black",shape="box"];2763 -> 5189[label="",style="solid", color="black", weight=3]; 2764[label="vyv121 * vyv121",fontsize=16,color="black",shape="box"];2764 -> 5190[label="",style="solid", color="black", weight=3]; 2765[label="vyv121 * vyv121",fontsize=16,color="black",shape="box"];2765 -> 5191[label="",style="solid", color="black", weight=3]; 2766[label="vyv121 * vyv121",fontsize=16,color="burlywood",shape="box"];7608[label="vyv121/Integer vyv1210",fontsize=10,color="white",style="solid",shape="box"];2766 -> 7608[label="",style="solid", color="burlywood", weight=9]; 7608 -> 5192[label="",style="solid", color="burlywood", weight=3]; 2767[label="vyv121 * vyv121",fontsize=16,color="burlywood",shape="box"];7609[label="vyv121/vyv1210 :% vyv1211",fontsize=10,color="white",style="solid",shape="box"];2767 -> 7609[label="",style="solid", color="burlywood", weight=9]; 7609 -> 5193[label="",style="solid", color="burlywood", weight=3]; 5569[label="vyv200",fontsize=16,color="green",shape="box"];7048[label="vyv4010",fontsize=16,color="green",shape="box"];7049[label="vyv4000",fontsize=16,color="green",shape="box"];7058[label="pr2F0G2 (vyv423 * (vyv423 * vyv425)) vyv423 (vyv424 - fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];7058 -> 7072[label="",style="solid", color="black", weight=3]; 7059 -> 2821[label="",style="dashed", color="red", weight=0]; 7059[label="primMulFloat vyv423 (vyv423 * vyv425)",fontsize=16,color="magenta"];7059 -> 7073[label="",style="dashed", color="magenta", weight=3]; 7059 -> 7074[label="",style="dashed", color="magenta", weight=3]; 7060 -> 2844[label="",style="dashed", color="red", weight=0]; 7060[label="primMulDouble vyv423 (vyv423 * vyv425)",fontsize=16,color="magenta"];7060 -> 7075[label="",style="dashed", color="magenta", weight=3]; 7060 -> 7076[label="",style="dashed", color="magenta", weight=3]; 7061 -> 2897[label="",style="dashed", color="red", weight=0]; 7061[label="vyv423 * vyv425",fontsize=16,color="magenta"];7061 -> 7077[label="",style="dashed", color="magenta", weight=3]; 7061 -> 7078[label="",style="dashed", color="magenta", weight=3]; 7062[label="vyv423",fontsize=16,color="green",shape="box"];7063 -> 3515[label="",style="dashed", color="red", weight=0]; 7063[label="vyv423 * vyv425",fontsize=16,color="magenta"];7063 -> 7079[label="",style="dashed", color="magenta", weight=3]; 7063 -> 7080[label="",style="dashed", color="magenta", weight=3]; 7064[label="vyv423",fontsize=16,color="green",shape="box"];7065[label="vyv423",fontsize=16,color="green",shape="box"];7066 -> 6289[label="",style="dashed", color="red", weight=0]; 7066[label="vyv423 * vyv425",fontsize=16,color="magenta"];7066 -> 7081[label="",style="dashed", color="magenta", weight=3]; 7066 -> 7082[label="",style="dashed", color="magenta", weight=3]; 3934[label="vyv295",fontsize=16,color="green",shape="box"];3935[label="gcd2 False vyv295 vyv294",fontsize=16,color="black",shape="box"];3935 -> 3952[label="",style="solid", color="black", weight=3]; 3936[label="gcd2 True vyv295 vyv294",fontsize=16,color="black",shape="box"];3936 -> 3953[label="",style="solid", color="black", weight=3]; 3711[label="primQuotInt (Neg vyv2930) (gcd0 vyv295 vyv294)",fontsize=16,color="black",shape="box"];3711 -> 3723[label="",style="solid", color="black", weight=3]; 3712 -> 3724[label="",style="dashed", color="red", weight=0]; 3712[label="primQuotInt (Neg vyv2930) (gcd1 (vyv294 == fromInt (Pos Zero)) vyv295 vyv294)",fontsize=16,color="magenta"];3712 -> 3725[label="",style="dashed", color="magenta", weight=3]; 3937[label="gcd0 vyv298 vyv297",fontsize=16,color="black",shape="triangle"];3937 -> 3954[label="",style="solid", color="black", weight=3]; 3938 -> 3955[label="",style="dashed", color="red", weight=0]; 3938[label="gcd1 (vyv297 == fromInt (Pos Zero)) vyv298 vyv297",fontsize=16,color="magenta"];3938 -> 3956[label="",style="dashed", color="magenta", weight=3]; 1509 -> 1465[label="",style="dashed", color="red", weight=0]; 1509[label="pr2F0G1 (vyv114 * vyv114) vyv114 (Neg (Succ vyv115)) (primEvenNat vyv11600)",fontsize=16,color="magenta"];1509 -> 1535[label="",style="dashed", color="magenta", weight=3]; 1510 -> 1157[label="",style="dashed", color="red", weight=0]; 1510[label="pr2F0G1 (vyv114 * vyv114) vyv114 (Neg (Succ vyv115)) False",fontsize=16,color="magenta"];1510 -> 1536[label="",style="dashed", color="magenta", weight=3]; 1510 -> 1537[label="",style="dashed", color="magenta", weight=3]; 1511 -> 2645[label="",style="dashed", color="red", weight=0]; 1511[label="pr2F0G (vyv114 * vyv114) (vyv114 * vyv114) (Neg (Succ vyv115) `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];1511 -> 2679[label="",style="dashed", color="magenta", weight=3]; 1511 -> 2680[label="",style="dashed", color="magenta", weight=3]; 1511 -> 2681[label="",style="dashed", color="magenta", weight=3]; 6933[label="vyv81",fontsize=16,color="green",shape="box"];6934[label="vyv81",fontsize=16,color="green",shape="box"];6935[label="Neg (Succ vyv82)",fontsize=16,color="green",shape="box"];5257[label="vyv12",fontsize=16,color="green",shape="box"];5258[label="vyv12",fontsize=16,color="green",shape="box"];5259[label="vyv12",fontsize=16,color="green",shape="box"];5260[label="Integer (primMulInt vyv120 vyv120)",fontsize=16,color="green",shape="box"];5260 -> 5408[label="",style="dashed", color="green", weight=3]; 5261 -> 2800[label="",style="dashed", color="red", weight=0]; 5261[label="reduce (vyv120 * vyv120) (vyv121 * vyv121)",fontsize=16,color="magenta"];5261 -> 5409[label="",style="dashed", color="magenta", weight=3]; 5261 -> 5410[label="",style="dashed", color="magenta", weight=3]; 5189 -> 2743[label="",style="dashed", color="red", weight=0]; 5189[label="primMulFloat vyv121 vyv121",fontsize=16,color="magenta"];5189 -> 5280[label="",style="dashed", color="magenta", weight=3]; 5190 -> 2744[label="",style="dashed", color="red", weight=0]; 5190[label="primMulDouble vyv121 vyv121",fontsize=16,color="magenta"];5190 -> 5281[label="",style="dashed", color="magenta", weight=3]; 5191 -> 2745[label="",style="dashed", color="red", weight=0]; 5191[label="primMulInt vyv121 vyv121",fontsize=16,color="magenta"];5191 -> 5282[label="",style="dashed", color="magenta", weight=3]; 5192[label="Integer vyv1210 * Integer vyv1210",fontsize=16,color="black",shape="box"];5192 -> 5283[label="",style="solid", color="black", weight=3]; 5193[label="vyv1210 :% vyv1211 * (vyv1210 :% vyv1211)",fontsize=16,color="black",shape="box"];5193 -> 5284[label="",style="solid", color="black", weight=3]; 7072 -> 7091[label="",style="dashed", color="red", weight=0]; 7072[label="pr2F0G1 (vyv423 * (vyv423 * vyv425)) vyv423 (vyv424 - fromInt (Pos (Succ Zero))) (even (vyv424 - fromInt (Pos (Succ Zero))))",fontsize=16,color="magenta"];7072 -> 7092[label="",style="dashed", color="magenta", weight=3]; 7072 -> 7093[label="",style="dashed", color="magenta", weight=3]; 7072 -> 7094[label="",style="dashed", color="magenta", weight=3]; 7072 -> 7095[label="",style="dashed", color="magenta", weight=3]; 7073[label="vyv423 * vyv425",fontsize=16,color="black",shape="triangle"];7073 -> 7096[label="",style="solid", color="black", weight=3]; 7074[label="vyv423",fontsize=16,color="green",shape="box"];7075[label="vyv423",fontsize=16,color="green",shape="box"];7076[label="vyv423 * vyv425",fontsize=16,color="black",shape="triangle"];7076 -> 7097[label="",style="solid", color="black", weight=3]; 7077[label="vyv425",fontsize=16,color="green",shape="box"];7078[label="vyv423",fontsize=16,color="green",shape="box"];7079[label="vyv425",fontsize=16,color="green",shape="box"];7080[label="vyv423",fontsize=16,color="green",shape="box"];7081[label="vyv423",fontsize=16,color="green",shape="box"];7082[label="vyv425",fontsize=16,color="green",shape="box"];3952[label="gcd0 vyv295 vyv294",fontsize=16,color="black",shape="triangle"];3952 -> 3963[label="",style="solid", color="black", weight=3]; 3953 -> 3964[label="",style="dashed", color="red", weight=0]; 3953[label="gcd1 (vyv294 == fromInt (Pos Zero)) vyv295 vyv294",fontsize=16,color="magenta"];3953 -> 3965[label="",style="dashed", color="magenta", weight=3]; 3723[label="primQuotInt (Neg vyv2930) (gcd0Gcd' (abs vyv295) (abs vyv294))",fontsize=16,color="black",shape="box"];3723 -> 3738[label="",style="solid", color="black", weight=3]; 3725 -> 554[label="",style="dashed", color="red", weight=0]; 3725[label="vyv294 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3725 -> 3739[label="",style="dashed", color="magenta", weight=3]; 3724[label="primQuotInt (Neg vyv2930) (gcd1 vyv323 vyv295 vyv294)",fontsize=16,color="burlywood",shape="triangle"];7610[label="vyv323/False",fontsize=10,color="white",style="solid",shape="box"];3724 -> 7610[label="",style="solid", color="burlywood", weight=9]; 7610 -> 3740[label="",style="solid", color="burlywood", weight=3]; 7611[label="vyv323/True",fontsize=10,color="white",style="solid",shape="box"];3724 -> 7611[label="",style="solid", color="burlywood", weight=9]; 7611 -> 3741[label="",style="solid", color="burlywood", weight=3]; 3954[label="gcd0Gcd' (abs vyv298) (abs vyv297)",fontsize=16,color="black",shape="box"];3954 -> 3976[label="",style="solid", color="black", weight=3]; 3956 -> 2947[label="",style="dashed", color="red", weight=0]; 3956[label="vyv297 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3956 -> 3977[label="",style="dashed", color="magenta", weight=3]; 3955[label="gcd1 vyv332 vyv298 vyv297",fontsize=16,color="burlywood",shape="triangle"];7612[label="vyv332/False",fontsize=10,color="white",style="solid",shape="box"];3955 -> 7612[label="",style="solid", color="burlywood", weight=9]; 7612 -> 3978[label="",style="solid", color="burlywood", weight=3]; 7613[label="vyv332/True",fontsize=10,color="white",style="solid",shape="box"];3955 -> 7613[label="",style="solid", color="burlywood", weight=9]; 7613 -> 3979[label="",style="solid", color="burlywood", weight=3]; 1535[label="vyv11600",fontsize=16,color="green",shape="box"];1536[label="vyv114",fontsize=16,color="green",shape="box"];1537[label="vyv115",fontsize=16,color="green",shape="box"];2679[label="vyv114",fontsize=16,color="green",shape="box"];2680[label="Neg (Succ vyv115)",fontsize=16,color="green",shape="box"];2681[label="vyv114 * vyv114",fontsize=16,color="blue",shape="box"];7614[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];2681 -> 7614[label="",style="solid", color="blue", weight=9]; 7614 -> 2768[label="",style="solid", color="blue", weight=3]; 7615[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];2681 -> 7615[label="",style="solid", color="blue", weight=9]; 7615 -> 2769[label="",style="solid", color="blue", weight=3]; 7616[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];2681 -> 7616[label="",style="solid", color="blue", weight=9]; 7616 -> 2770[label="",style="solid", color="blue", weight=3]; 7617[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];2681 -> 7617[label="",style="solid", color="blue", weight=9]; 7617 -> 2771[label="",style="solid", color="blue", weight=3]; 7618[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];2681 -> 7618[label="",style="solid", color="blue", weight=9]; 7618 -> 2772[label="",style="solid", color="blue", weight=3]; 5408 -> 2745[label="",style="dashed", color="red", weight=0]; 5408[label="primMulInt vyv120 vyv120",fontsize=16,color="magenta"];5408 -> 5574[label="",style="dashed", color="magenta", weight=3]; 5409[label="vyv121",fontsize=16,color="green",shape="box"];5410[label="vyv120",fontsize=16,color="green",shape="box"];5280[label="vyv121",fontsize=16,color="green",shape="box"];5281[label="vyv121",fontsize=16,color="green",shape="box"];5282[label="vyv121",fontsize=16,color="green",shape="box"];5283[label="Integer (primMulInt vyv1210 vyv1210)",fontsize=16,color="green",shape="box"];5283 -> 5415[label="",style="dashed", color="green", weight=3]; 5284 -> 2800[label="",style="dashed", color="red", weight=0]; 5284[label="reduce (vyv1210 * vyv1210) (vyv1211 * vyv1211)",fontsize=16,color="magenta"];5284 -> 5416[label="",style="dashed", color="magenta", weight=3]; 5284 -> 5417[label="",style="dashed", color="magenta", weight=3]; 7092[label="vyv425",fontsize=16,color="green",shape="box"];7093[label="even (vyv424 - fromInt (Pos (Succ Zero)))",fontsize=16,color="blue",shape="box"];7619[label="even :: Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];7093 -> 7619[label="",style="solid", color="blue", weight=9]; 7619 -> 7098[label="",style="solid", color="blue", weight=3]; 7620[label="even :: Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];7093 -> 7620[label="",style="solid", color="blue", weight=9]; 7620 -> 7099[label="",style="solid", color="blue", weight=3]; 7094[label="vyv423",fontsize=16,color="green",shape="box"];7095[label="vyv424",fontsize=16,color="green",shape="box"];7091[label="pr2F0G1 (vyv431 * (vyv431 * vyv432)) vyv431 (vyv433 - fromInt (Pos (Succ Zero))) vyv434",fontsize=16,color="burlywood",shape="triangle"];7621[label="vyv434/False",fontsize=10,color="white",style="solid",shape="box"];7091 -> 7621[label="",style="solid", color="burlywood", weight=9]; 7621 -> 7100[label="",style="solid", color="burlywood", weight=3]; 7622[label="vyv434/True",fontsize=10,color="white",style="solid",shape="box"];7091 -> 7622[label="",style="solid", color="burlywood", weight=9]; 7622 -> 7101[label="",style="solid", color="burlywood", weight=3]; 7096 -> 2821[label="",style="dashed", color="red", weight=0]; 7096[label="primMulFloat vyv423 vyv425",fontsize=16,color="magenta"];7096 -> 7110[label="",style="dashed", color="magenta", weight=3]; 7096 -> 7111[label="",style="dashed", color="magenta", weight=3]; 7097 -> 2844[label="",style="dashed", color="red", weight=0]; 7097[label="primMulDouble vyv423 vyv425",fontsize=16,color="magenta"];7097 -> 7112[label="",style="dashed", color="magenta", weight=3]; 7097 -> 7113[label="",style="dashed", color="magenta", weight=3]; 3963[label="gcd0Gcd' (abs vyv295) (abs vyv294)",fontsize=16,color="black",shape="box"];3963 -> 3980[label="",style="solid", color="black", weight=3]; 3965 -> 554[label="",style="dashed", color="red", weight=0]; 3965[label="vyv294 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3965 -> 3981[label="",style="dashed", color="magenta", weight=3]; 3964[label="gcd1 vyv333 vyv295 vyv294",fontsize=16,color="burlywood",shape="triangle"];7623[label="vyv333/False",fontsize=10,color="white",style="solid",shape="box"];3964 -> 7623[label="",style="solid", color="burlywood", weight=9]; 7623 -> 3982[label="",style="solid", color="burlywood", weight=3]; 7624[label="vyv333/True",fontsize=10,color="white",style="solid",shape="box"];3964 -> 7624[label="",style="solid", color="burlywood", weight=9]; 7624 -> 3983[label="",style="solid", color="burlywood", weight=3]; 3738[label="primQuotInt (Neg vyv2930) (gcd0Gcd'2 (abs vyv295) (abs vyv294))",fontsize=16,color="black",shape="box"];3738 -> 3777[label="",style="solid", color="black", weight=3]; 3739[label="vyv294",fontsize=16,color="green",shape="box"];3740[label="primQuotInt (Neg vyv2930) (gcd1 False vyv295 vyv294)",fontsize=16,color="black",shape="box"];3740 -> 3778[label="",style="solid", color="black", weight=3]; 3741[label="primQuotInt (Neg vyv2930) (gcd1 True vyv295 vyv294)",fontsize=16,color="black",shape="box"];3741 -> 3779[label="",style="solid", color="black", weight=3]; 3976[label="gcd0Gcd'2 (abs vyv298) (abs vyv297)",fontsize=16,color="black",shape="box"];3976 -> 4019[label="",style="solid", color="black", weight=3]; 3977[label="vyv297",fontsize=16,color="green",shape="box"];3978[label="gcd1 False vyv298 vyv297",fontsize=16,color="black",shape="box"];3978 -> 4020[label="",style="solid", color="black", weight=3]; 3979[label="gcd1 True vyv298 vyv297",fontsize=16,color="black",shape="box"];3979 -> 4021[label="",style="solid", color="black", weight=3]; 2768[label="vyv114 * vyv114",fontsize=16,color="black",shape="box"];2768 -> 5194[label="",style="solid", color="black", weight=3]; 2769[label="vyv114 * vyv114",fontsize=16,color="black",shape="box"];2769 -> 5195[label="",style="solid", color="black", weight=3]; 2770[label="vyv114 * vyv114",fontsize=16,color="black",shape="box"];2770 -> 5196[label="",style="solid", color="black", weight=3]; 2771[label="vyv114 * vyv114",fontsize=16,color="burlywood",shape="box"];7625[label="vyv114/Integer vyv1140",fontsize=10,color="white",style="solid",shape="box"];2771 -> 7625[label="",style="solid", color="burlywood", weight=9]; 7625 -> 5197[label="",style="solid", color="burlywood", weight=3]; 2772[label="vyv114 * vyv114",fontsize=16,color="burlywood",shape="box"];7626[label="vyv114/vyv1140 :% vyv1141",fontsize=10,color="white",style="solid",shape="box"];2772 -> 7626[label="",style="solid", color="burlywood", weight=9]; 7626 -> 5198[label="",style="solid", color="burlywood", weight=3]; 5574[label="vyv120",fontsize=16,color="green",shape="box"];5415 -> 2745[label="",style="dashed", color="red", weight=0]; 5415[label="primMulInt vyv1210 vyv1210",fontsize=16,color="magenta"];5415 -> 5577[label="",style="dashed", color="magenta", weight=3]; 5416[label="vyv1211",fontsize=16,color="green",shape="box"];5417[label="vyv1210",fontsize=16,color="green",shape="box"];7098 -> 3293[label="",style="dashed", color="red", weight=0]; 7098[label="even (vyv424 - fromInt (Pos (Succ Zero)))",fontsize=16,color="magenta"];7098 -> 7114[label="",style="dashed", color="magenta", weight=3]; 7099 -> 3322[label="",style="dashed", color="red", weight=0]; 7099[label="even (vyv424 - fromInt (Pos (Succ Zero)))",fontsize=16,color="magenta"];7099 -> 7115[label="",style="dashed", color="magenta", weight=3]; 7100[label="pr2F0G1 (vyv431 * (vyv431 * vyv432)) vyv431 (vyv433 - fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];7100 -> 7116[label="",style="solid", color="black", weight=3]; 7101[label="pr2F0G1 (vyv431 * (vyv431 * vyv432)) vyv431 (vyv433 - fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];7101 -> 7117[label="",style="solid", color="black", weight=3]; 7110[label="vyv425",fontsize=16,color="green",shape="box"];7111[label="vyv423",fontsize=16,color="green",shape="box"];7112[label="vyv423",fontsize=16,color="green",shape="box"];7113[label="vyv425",fontsize=16,color="green",shape="box"];3980[label="gcd0Gcd'2 (abs vyv295) (abs vyv294)",fontsize=16,color="black",shape="box"];3980 -> 4022[label="",style="solid", color="black", weight=3]; 3981[label="vyv294",fontsize=16,color="green",shape="box"];3982[label="gcd1 False vyv295 vyv294",fontsize=16,color="black",shape="box"];3982 -> 4023[label="",style="solid", color="black", weight=3]; 3983[label="gcd1 True vyv295 vyv294",fontsize=16,color="black",shape="box"];3983 -> 4024[label="",style="solid", color="black", weight=3]; 3777 -> 3870[label="",style="dashed", color="red", weight=0]; 3777[label="primQuotInt (Neg vyv2930) (gcd0Gcd'1 (abs vyv294 == fromInt (Pos Zero)) (abs vyv295) (abs vyv294))",fontsize=16,color="magenta"];3777 -> 3884[label="",style="dashed", color="magenta", weight=3]; 3777 -> 3885[label="",style="dashed", color="magenta", weight=3]; 3778 -> 3870[label="",style="dashed", color="red", weight=0]; 3778[label="primQuotInt (Neg vyv2930) (gcd0 vyv295 vyv294)",fontsize=16,color="magenta"];3778 -> 3886[label="",style="dashed", color="magenta", weight=3]; 3778 -> 3887[label="",style="dashed", color="magenta", weight=3]; 3779 -> 3870[label="",style="dashed", color="red", weight=0]; 3779[label="primQuotInt (Neg vyv2930) (error [])",fontsize=16,color="magenta"];3779 -> 3888[label="",style="dashed", color="magenta", weight=3]; 3779 -> 3889[label="",style="dashed", color="magenta", weight=3]; 4019 -> 4034[label="",style="dashed", color="red", weight=0]; 4019[label="gcd0Gcd'1 (abs vyv297 == fromInt (Pos Zero)) (abs vyv298) (abs vyv297)",fontsize=16,color="magenta"];4019 -> 4035[label="",style="dashed", color="magenta", weight=3]; 4020 -> 3937[label="",style="dashed", color="red", weight=0]; 4020[label="gcd0 vyv298 vyv297",fontsize=16,color="magenta"];4021 -> 65[label="",style="dashed", color="red", weight=0]; 4021[label="error []",fontsize=16,color="magenta"];5194 -> 2743[label="",style="dashed", color="red", weight=0]; 5194[label="primMulFloat vyv114 vyv114",fontsize=16,color="magenta"];5194 -> 5285[label="",style="dashed", color="magenta", weight=3]; 5195 -> 2744[label="",style="dashed", color="red", weight=0]; 5195[label="primMulDouble vyv114 vyv114",fontsize=16,color="magenta"];5195 -> 5286[label="",style="dashed", color="magenta", weight=3]; 5196 -> 2745[label="",style="dashed", color="red", weight=0]; 5196[label="primMulInt vyv114 vyv114",fontsize=16,color="magenta"];5196 -> 5287[label="",style="dashed", color="magenta", weight=3]; 5197[label="Integer vyv1140 * Integer vyv1140",fontsize=16,color="black",shape="box"];5197 -> 5288[label="",style="solid", color="black", weight=3]; 5198[label="vyv1140 :% vyv1141 * (vyv1140 :% vyv1141)",fontsize=16,color="black",shape="box"];5198 -> 5289[label="",style="solid", color="black", weight=3]; 5577[label="vyv1210",fontsize=16,color="green",shape="box"];7114 -> 3039[label="",style="dashed", color="red", weight=0]; 7114[label="vyv424 - fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7114 -> 7123[label="",style="dashed", color="magenta", weight=3]; 7114 -> 7124[label="",style="dashed", color="magenta", weight=3]; 7115 -> 3054[label="",style="dashed", color="red", weight=0]; 7115[label="vyv424 - fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7115 -> 7125[label="",style="dashed", color="magenta", weight=3]; 7115 -> 7126[label="",style="dashed", color="magenta", weight=3]; 7116[label="pr2F0G0 (vyv431 * (vyv431 * vyv432)) vyv431 (vyv433 - fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];7116 -> 7127[label="",style="solid", color="black", weight=3]; 7117 -> 2645[label="",style="dashed", color="red", weight=0]; 7117[label="pr2F0G (vyv431 * (vyv431 * vyv432)) (vyv431 * vyv431) ((vyv433 - fromInt (Pos (Succ Zero))) `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];7117 -> 7128[label="",style="dashed", color="magenta", weight=3]; 7117 -> 7129[label="",style="dashed", color="magenta", weight=3]; 7117 -> 7130[label="",style="dashed", color="magenta", weight=3]; 4022 -> 3939[label="",style="dashed", color="red", weight=0]; 4022[label="gcd0Gcd'1 (abs vyv294 == fromInt (Pos Zero)) (abs vyv295) (abs vyv294)",fontsize=16,color="magenta"];4022 -> 4041[label="",style="dashed", color="magenta", weight=3]; 4023 -> 3952[label="",style="dashed", color="red", weight=0]; 4023[label="gcd0 vyv295 vyv294",fontsize=16,color="magenta"];4024 -> 65[label="",style="dashed", color="red", weight=0]; 4024[label="error []",fontsize=16,color="magenta"];3884 -> 3939[label="",style="dashed", color="red", weight=0]; 3884[label="gcd0Gcd'1 (abs vyv294 == fromInt (Pos Zero)) (abs vyv295) (abs vyv294)",fontsize=16,color="magenta"];3884 -> 3940[label="",style="dashed", color="magenta", weight=3]; 3885[label="Neg vyv2930",fontsize=16,color="green",shape="box"];3886 -> 3952[label="",style="dashed", color="red", weight=0]; 3886[label="gcd0 vyv295 vyv294",fontsize=16,color="magenta"];3887[label="Neg vyv2930",fontsize=16,color="green",shape="box"];3888 -> 65[label="",style="dashed", color="red", weight=0]; 3888[label="error []",fontsize=16,color="magenta"];3889[label="Neg vyv2930",fontsize=16,color="green",shape="box"];4035 -> 2947[label="",style="dashed", color="red", weight=0]; 4035[label="abs vyv297 == fromInt (Pos Zero)",fontsize=16,color="magenta"];4035 -> 4042[label="",style="dashed", color="magenta", weight=3]; 4034[label="gcd0Gcd'1 vyv343 (abs vyv298) (abs vyv297)",fontsize=16,color="burlywood",shape="triangle"];7627[label="vyv343/False",fontsize=10,color="white",style="solid",shape="box"];4034 -> 7627[label="",style="solid", color="burlywood", weight=9]; 7627 -> 4043[label="",style="solid", color="burlywood", weight=3]; 7628[label="vyv343/True",fontsize=10,color="white",style="solid",shape="box"];4034 -> 7628[label="",style="solid", color="burlywood", weight=9]; 7628 -> 4044[label="",style="solid", color="burlywood", weight=3]; 5285[label="vyv114",fontsize=16,color="green",shape="box"];5286[label="vyv114",fontsize=16,color="green",shape="box"];5287[label="vyv114",fontsize=16,color="green",shape="box"];5288[label="Integer (primMulInt vyv1140 vyv1140)",fontsize=16,color="green",shape="box"];5288 -> 5418[label="",style="dashed", color="green", weight=3]; 5289 -> 2800[label="",style="dashed", color="red", weight=0]; 5289[label="reduce (vyv1140 * vyv1140) (vyv1141 * vyv1141)",fontsize=16,color="magenta"];5289 -> 5419[label="",style="dashed", color="magenta", weight=3]; 5289 -> 5420[label="",style="dashed", color="magenta", weight=3]; 7123 -> 29[label="",style="dashed", color="red", weight=0]; 7123[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7124[label="vyv424",fontsize=16,color="green",shape="box"];7125 -> 30[label="",style="dashed", color="red", weight=0]; 7125[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7126[label="vyv424",fontsize=16,color="green",shape="box"];7127 -> 6926[label="",style="dashed", color="red", weight=0]; 7127[label="pr2F0G0 (vyv431 * (vyv431 * vyv432)) vyv431 (vyv433 - fromInt (Pos (Succ Zero))) True",fontsize=16,color="magenta"];7127 -> 7139[label="",style="dashed", color="magenta", weight=3]; 7127 -> 7140[label="",style="dashed", color="magenta", weight=3]; 7127 -> 7141[label="",style="dashed", color="magenta", weight=3]; 7128[label="vyv431",fontsize=16,color="green",shape="box"];7129[label="vyv433 - fromInt (Pos (Succ Zero))",fontsize=16,color="blue",shape="box"];7629[label="- :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];7129 -> 7629[label="",style="solid", color="blue", weight=9]; 7629 -> 7142[label="",style="solid", color="blue", weight=3]; 7630[label="- :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];7129 -> 7630[label="",style="solid", color="blue", weight=9]; 7630 -> 7143[label="",style="solid", color="blue", weight=3]; 7130[label="vyv431 * (vyv431 * vyv432)",fontsize=16,color="blue",shape="box"];7631[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];7130 -> 7631[label="",style="solid", color="blue", weight=9]; 7631 -> 7144[label="",style="solid", color="blue", weight=3]; 7632[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];7130 -> 7632[label="",style="solid", color="blue", weight=9]; 7632 -> 7145[label="",style="solid", color="blue", weight=3]; 7633[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];7130 -> 7633[label="",style="solid", color="blue", weight=9]; 7633 -> 7146[label="",style="solid", color="blue", weight=3]; 7634[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];7130 -> 7634[label="",style="solid", color="blue", weight=9]; 7634 -> 7147[label="",style="solid", color="blue", weight=3]; 7635[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];7130 -> 7635[label="",style="solid", color="blue", weight=9]; 7635 -> 7148[label="",style="solid", color="blue", weight=3]; 4041 -> 554[label="",style="dashed", color="red", weight=0]; 4041[label="abs vyv294 == fromInt (Pos Zero)",fontsize=16,color="magenta"];4041 -> 4067[label="",style="dashed", color="magenta", weight=3]; 3939[label="gcd0Gcd'1 vyv331 (abs vyv295) (abs vyv294)",fontsize=16,color="burlywood",shape="triangle"];7636[label="vyv331/False",fontsize=10,color="white",style="solid",shape="box"];3939 -> 7636[label="",style="solid", color="burlywood", weight=9]; 7636 -> 4005[label="",style="solid", color="burlywood", weight=3]; 7637[label="vyv331/True",fontsize=10,color="white",style="solid",shape="box"];3939 -> 7637[label="",style="solid", color="burlywood", weight=9]; 7637 -> 4006[label="",style="solid", color="burlywood", weight=3]; 3940 -> 554[label="",style="dashed", color="red", weight=0]; 3940[label="abs vyv294 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3940 -> 4004[label="",style="dashed", color="magenta", weight=3]; 4042[label="abs vyv297",fontsize=16,color="black",shape="triangle"];4042 -> 4068[label="",style="solid", color="black", weight=3]; 4043[label="gcd0Gcd'1 False (abs vyv298) (abs vyv297)",fontsize=16,color="black",shape="box"];4043 -> 4069[label="",style="solid", color="black", weight=3]; 4044[label="gcd0Gcd'1 True (abs vyv298) (abs vyv297)",fontsize=16,color="black",shape="box"];4044 -> 4070[label="",style="solid", color="black", weight=3]; 5418 -> 2745[label="",style="dashed", color="red", weight=0]; 5418[label="primMulInt vyv1140 vyv1140",fontsize=16,color="magenta"];5418 -> 5578[label="",style="dashed", color="magenta", weight=3]; 5419[label="vyv1141",fontsize=16,color="green",shape="box"];5420[label="vyv1140",fontsize=16,color="green",shape="box"];7139[label="vyv431",fontsize=16,color="green",shape="box"];7140[label="vyv431 * vyv432",fontsize=16,color="blue",shape="box"];7638[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];7140 -> 7638[label="",style="solid", color="blue", weight=9]; 7638 -> 7157[label="",style="solid", color="blue", weight=3]; 7639[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];7140 -> 7639[label="",style="solid", color="blue", weight=9]; 7639 -> 7158[label="",style="solid", color="blue", weight=3]; 7640[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];7140 -> 7640[label="",style="solid", color="blue", weight=9]; 7640 -> 7159[label="",style="solid", color="blue", weight=3]; 7641[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];7140 -> 7641[label="",style="solid", color="blue", weight=9]; 7641 -> 7160[label="",style="solid", color="blue", weight=3]; 7642[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];7140 -> 7642[label="",style="solid", color="blue", weight=9]; 7642 -> 7161[label="",style="solid", color="blue", weight=3]; 7141[label="vyv433 - fromInt (Pos (Succ Zero))",fontsize=16,color="blue",shape="box"];7643[label="- :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];7141 -> 7643[label="",style="solid", color="blue", weight=9]; 7643 -> 7162[label="",style="solid", color="blue", weight=3]; 7644[label="- :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];7141 -> 7644[label="",style="solid", color="blue", weight=9]; 7644 -> 7163[label="",style="solid", color="blue", weight=3]; 7142 -> 3039[label="",style="dashed", color="red", weight=0]; 7142[label="vyv433 - fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7142 -> 7164[label="",style="dashed", color="magenta", weight=3]; 7142 -> 7165[label="",style="dashed", color="magenta", weight=3]; 7143 -> 3054[label="",style="dashed", color="red", weight=0]; 7143[label="vyv433 - fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7143 -> 7166[label="",style="dashed", color="magenta", weight=3]; 7143 -> 7167[label="",style="dashed", color="magenta", weight=3]; 7144 -> 7073[label="",style="dashed", color="red", weight=0]; 7144[label="vyv431 * (vyv431 * vyv432)",fontsize=16,color="magenta"];7144 -> 7168[label="",style="dashed", color="magenta", weight=3]; 7144 -> 7169[label="",style="dashed", color="magenta", weight=3]; 7145 -> 7076[label="",style="dashed", color="red", weight=0]; 7145[label="vyv431 * (vyv431 * vyv432)",fontsize=16,color="magenta"];7145 -> 7170[label="",style="dashed", color="magenta", weight=3]; 7145 -> 7171[label="",style="dashed", color="magenta", weight=3]; 7146 -> 2897[label="",style="dashed", color="red", weight=0]; 7146[label="vyv431 * (vyv431 * vyv432)",fontsize=16,color="magenta"];7146 -> 7172[label="",style="dashed", color="magenta", weight=3]; 7146 -> 7173[label="",style="dashed", color="magenta", weight=3]; 7147 -> 3515[label="",style="dashed", color="red", weight=0]; 7147[label="vyv431 * (vyv431 * vyv432)",fontsize=16,color="magenta"];7147 -> 7174[label="",style="dashed", color="magenta", weight=3]; 7147 -> 7175[label="",style="dashed", color="magenta", weight=3]; 7148 -> 6289[label="",style="dashed", color="red", weight=0]; 7148[label="vyv431 * (vyv431 * vyv432)",fontsize=16,color="magenta"];7148 -> 7176[label="",style="dashed", color="magenta", weight=3]; 7148 -> 7177[label="",style="dashed", color="magenta", weight=3]; 4067 -> 4004[label="",style="dashed", color="red", weight=0]; 4067[label="abs vyv294",fontsize=16,color="magenta"];4005[label="gcd0Gcd'1 False (abs vyv295) (abs vyv294)",fontsize=16,color="black",shape="box"];4005 -> 4053[label="",style="solid", color="black", weight=3]; 4006[label="gcd0Gcd'1 True (abs vyv295) (abs vyv294)",fontsize=16,color="black",shape="box"];4006 -> 4054[label="",style="solid", color="black", weight=3]; 4004[label="abs vyv294",fontsize=16,color="black",shape="triangle"];4004 -> 4052[label="",style="solid", color="black", weight=3]; 4068[label="absReal vyv297",fontsize=16,color="black",shape="box"];4068 -> 4083[label="",style="solid", color="black", weight=3]; 4069 -> 4084[label="",style="dashed", color="red", weight=0]; 4069[label="gcd0Gcd'0 (abs vyv298) (abs vyv297)",fontsize=16,color="magenta"];4069 -> 4085[label="",style="dashed", color="magenta", weight=3]; 4069 -> 4086[label="",style="dashed", color="magenta", weight=3]; 4070 -> 4042[label="",style="dashed", color="red", weight=0]; 4070[label="abs vyv298",fontsize=16,color="magenta"];4070 -> 4092[label="",style="dashed", color="magenta", weight=3]; 5578[label="vyv1140",fontsize=16,color="green",shape="box"];7157 -> 7073[label="",style="dashed", color="red", weight=0]; 7157[label="vyv431 * vyv432",fontsize=16,color="magenta"];7157 -> 7182[label="",style="dashed", color="magenta", weight=3]; 7157 -> 7183[label="",style="dashed", color="magenta", weight=3]; 7158 -> 7076[label="",style="dashed", color="red", weight=0]; 7158[label="vyv431 * vyv432",fontsize=16,color="magenta"];7158 -> 7184[label="",style="dashed", color="magenta", weight=3]; 7158 -> 7185[label="",style="dashed", color="magenta", weight=3]; 7159 -> 2897[label="",style="dashed", color="red", weight=0]; 7159[label="vyv431 * vyv432",fontsize=16,color="magenta"];7159 -> 7186[label="",style="dashed", color="magenta", weight=3]; 7159 -> 7187[label="",style="dashed", color="magenta", weight=3]; 7160 -> 3515[label="",style="dashed", color="red", weight=0]; 7160[label="vyv431 * vyv432",fontsize=16,color="magenta"];7160 -> 7188[label="",style="dashed", color="magenta", weight=3]; 7160 -> 7189[label="",style="dashed", color="magenta", weight=3]; 7161 -> 6289[label="",style="dashed", color="red", weight=0]; 7161[label="vyv431 * vyv432",fontsize=16,color="magenta"];7161 -> 7190[label="",style="dashed", color="magenta", weight=3]; 7161 -> 7191[label="",style="dashed", color="magenta", weight=3]; 7162 -> 3039[label="",style="dashed", color="red", weight=0]; 7162[label="vyv433 - fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7162 -> 7192[label="",style="dashed", color="magenta", weight=3]; 7162 -> 7193[label="",style="dashed", color="magenta", weight=3]; 7163 -> 3054[label="",style="dashed", color="red", weight=0]; 7163[label="vyv433 - fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7163 -> 7194[label="",style="dashed", color="magenta", weight=3]; 7163 -> 7195[label="",style="dashed", color="magenta", weight=3]; 7164 -> 29[label="",style="dashed", color="red", weight=0]; 7164[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7165[label="vyv433",fontsize=16,color="green",shape="box"];7166 -> 30[label="",style="dashed", color="red", weight=0]; 7166[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7167[label="vyv433",fontsize=16,color="green",shape="box"];7168[label="vyv431",fontsize=16,color="green",shape="box"];7169 -> 7073[label="",style="dashed", color="red", weight=0]; 7169[label="vyv431 * vyv432",fontsize=16,color="magenta"];7169 -> 7196[label="",style="dashed", color="magenta", weight=3]; 7169 -> 7197[label="",style="dashed", color="magenta", weight=3]; 7170[label="vyv431",fontsize=16,color="green",shape="box"];7171 -> 7076[label="",style="dashed", color="red", weight=0]; 7171[label="vyv431 * vyv432",fontsize=16,color="magenta"];7171 -> 7198[label="",style="dashed", color="magenta", weight=3]; 7171 -> 7199[label="",style="dashed", color="magenta", weight=3]; 7172 -> 2897[label="",style="dashed", color="red", weight=0]; 7172[label="vyv431 * vyv432",fontsize=16,color="magenta"];7172 -> 7200[label="",style="dashed", color="magenta", weight=3]; 7172 -> 7201[label="",style="dashed", color="magenta", weight=3]; 7173[label="vyv431",fontsize=16,color="green",shape="box"];7174 -> 3515[label="",style="dashed", color="red", weight=0]; 7174[label="vyv431 * vyv432",fontsize=16,color="magenta"];7174 -> 7202[label="",style="dashed", color="magenta", weight=3]; 7174 -> 7203[label="",style="dashed", color="magenta", weight=3]; 7175[label="vyv431",fontsize=16,color="green",shape="box"];7176[label="vyv431",fontsize=16,color="green",shape="box"];7177 -> 6289[label="",style="dashed", color="red", weight=0]; 7177[label="vyv431 * vyv432",fontsize=16,color="magenta"];7177 -> 7204[label="",style="dashed", color="magenta", weight=3]; 7177 -> 7205[label="",style="dashed", color="magenta", weight=3]; 4053 -> 4072[label="",style="dashed", color="red", weight=0]; 4053[label="gcd0Gcd'0 (abs vyv295) (abs vyv294)",fontsize=16,color="magenta"];4053 -> 4073[label="",style="dashed", color="magenta", weight=3]; 4053 -> 4074[label="",style="dashed", color="magenta", weight=3]; 4054 -> 4004[label="",style="dashed", color="red", weight=0]; 4054[label="abs vyv295",fontsize=16,color="magenta"];4054 -> 4093[label="",style="dashed", color="magenta", weight=3]; 4052[label="absReal vyv294",fontsize=16,color="black",shape="box"];4052 -> 4071[label="",style="solid", color="black", weight=3]; 4083[label="absReal2 vyv297",fontsize=16,color="black",shape="box"];4083 -> 4094[label="",style="solid", color="black", weight=3]; 4085 -> 4042[label="",style="dashed", color="red", weight=0]; 4085[label="abs vyv298",fontsize=16,color="magenta"];4085 -> 4095[label="",style="dashed", color="magenta", weight=3]; 4086 -> 4042[label="",style="dashed", color="red", weight=0]; 4086[label="abs vyv297",fontsize=16,color="magenta"];4084[label="gcd0Gcd'0 vyv347 vyv346",fontsize=16,color="black",shape="triangle"];4084 -> 4096[label="",style="solid", color="black", weight=3]; 4092[label="vyv298",fontsize=16,color="green",shape="box"];7182[label="vyv431",fontsize=16,color="green",shape="box"];7183[label="vyv432",fontsize=16,color="green",shape="box"];7184[label="vyv431",fontsize=16,color="green",shape="box"];7185[label="vyv432",fontsize=16,color="green",shape="box"];7186[label="vyv432",fontsize=16,color="green",shape="box"];7187[label="vyv431",fontsize=16,color="green",shape="box"];7188[label="vyv432",fontsize=16,color="green",shape="box"];7189[label="vyv431",fontsize=16,color="green",shape="box"];7190[label="vyv431",fontsize=16,color="green",shape="box"];7191[label="vyv432",fontsize=16,color="green",shape="box"];7192 -> 29[label="",style="dashed", color="red", weight=0]; 7192[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7193[label="vyv433",fontsize=16,color="green",shape="box"];7194 -> 30[label="",style="dashed", color="red", weight=0]; 7194[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7195[label="vyv433",fontsize=16,color="green",shape="box"];7196[label="vyv431",fontsize=16,color="green",shape="box"];7197[label="vyv432",fontsize=16,color="green",shape="box"];7198[label="vyv431",fontsize=16,color="green",shape="box"];7199[label="vyv432",fontsize=16,color="green",shape="box"];7200[label="vyv432",fontsize=16,color="green",shape="box"];7201[label="vyv431",fontsize=16,color="green",shape="box"];7202[label="vyv432",fontsize=16,color="green",shape="box"];7203[label="vyv431",fontsize=16,color="green",shape="box"];7204[label="vyv431",fontsize=16,color="green",shape="box"];7205[label="vyv432",fontsize=16,color="green",shape="box"];4073 -> 4004[label="",style="dashed", color="red", weight=0]; 4073[label="abs vyv294",fontsize=16,color="magenta"];4074 -> 4004[label="",style="dashed", color="red", weight=0]; 4074[label="abs vyv295",fontsize=16,color="magenta"];4074 -> 4101[label="",style="dashed", color="magenta", weight=3]; 4072[label="gcd0Gcd'0 vyv345 vyv344",fontsize=16,color="black",shape="triangle"];4072 -> 4102[label="",style="solid", color="black", weight=3]; 4093[label="vyv295",fontsize=16,color="green",shape="box"];4071[label="absReal2 vyv294",fontsize=16,color="black",shape="box"];4071 -> 4103[label="",style="solid", color="black", weight=3]; 4094[label="absReal1 vyv297 (vyv297 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];4094 -> 4112[label="",style="solid", color="black", weight=3]; 4095[label="vyv298",fontsize=16,color="green",shape="box"];4096[label="gcd0Gcd' vyv346 (vyv347 `rem` vyv346)",fontsize=16,color="black",shape="box"];4096 -> 4113[label="",style="solid", color="black", weight=3]; 4101[label="vyv295",fontsize=16,color="green",shape="box"];4102[label="gcd0Gcd' vyv344 (vyv345 `rem` vyv344)",fontsize=16,color="black",shape="box"];4102 -> 4124[label="",style="solid", color="black", weight=3]; 4103[label="absReal1 vyv294 (vyv294 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];4103 -> 4125[label="",style="solid", color="black", weight=3]; 4112[label="absReal1 vyv297 (compare vyv297 (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];4112 -> 4136[label="",style="solid", color="black", weight=3]; 4113[label="gcd0Gcd'2 vyv346 (vyv347 `rem` vyv346)",fontsize=16,color="black",shape="box"];4113 -> 4137[label="",style="solid", color="black", weight=3]; 4124[label="gcd0Gcd'2 vyv344 (vyv345 `rem` vyv344)",fontsize=16,color="black",shape="box"];4124 -> 4153[label="",style="solid", color="black", weight=3]; 4125[label="absReal1 vyv294 (compare vyv294 (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];4125 -> 4154[label="",style="solid", color="black", weight=3]; 4136[label="absReal1 vyv297 (not (compare vyv297 (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];7645[label="vyv297/Integer vyv2970",fontsize=10,color="white",style="solid",shape="box"];4136 -> 7645[label="",style="solid", color="burlywood", weight=9]; 7645 -> 4162[label="",style="solid", color="burlywood", weight=3]; 4137 -> 4163[label="",style="dashed", color="red", weight=0]; 4137[label="gcd0Gcd'1 (vyv347 `rem` vyv346 == fromInt (Pos Zero)) vyv346 (vyv347 `rem` vyv346)",fontsize=16,color="magenta"];4137 -> 4164[label="",style="dashed", color="magenta", weight=3]; 4153 -> 4191[label="",style="dashed", color="red", weight=0]; 4153[label="gcd0Gcd'1 (vyv345 `rem` vyv344 == fromInt (Pos Zero)) vyv344 (vyv345 `rem` vyv344)",fontsize=16,color="magenta"];4153 -> 4192[label="",style="dashed", color="magenta", weight=3]; 4154[label="absReal1 vyv294 (not (compare vyv294 (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];4154 -> 4201[label="",style="solid", color="black", weight=3]; 4162[label="absReal1 (Integer vyv2970) (not (compare (Integer vyv2970) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];4162 -> 4202[label="",style="solid", color="black", weight=3]; 4164 -> 2947[label="",style="dashed", color="red", weight=0]; 4164[label="vyv347 `rem` vyv346 == fromInt (Pos Zero)",fontsize=16,color="magenta"];4164 -> 4203[label="",style="dashed", color="magenta", weight=3]; 4163[label="gcd0Gcd'1 vyv350 vyv346 (vyv347 `rem` vyv346)",fontsize=16,color="burlywood",shape="triangle"];7646[label="vyv350/False",fontsize=10,color="white",style="solid",shape="box"];4163 -> 7646[label="",style="solid", color="burlywood", weight=9]; 7646 -> 4204[label="",style="solid", color="burlywood", weight=3]; 7647[label="vyv350/True",fontsize=10,color="white",style="solid",shape="box"];4163 -> 7647[label="",style="solid", color="burlywood", weight=9]; 7647 -> 4205[label="",style="solid", color="burlywood", weight=3]; 4192 -> 554[label="",style="dashed", color="red", weight=0]; 4192[label="vyv345 `rem` vyv344 == fromInt (Pos Zero)",fontsize=16,color="magenta"];4192 -> 4235[label="",style="dashed", color="magenta", weight=3]; 4191[label="gcd0Gcd'1 vyv351 vyv344 (vyv345 `rem` vyv344)",fontsize=16,color="burlywood",shape="triangle"];7648[label="vyv351/False",fontsize=10,color="white",style="solid",shape="box"];4191 -> 7648[label="",style="solid", color="burlywood", weight=9]; 7648 -> 4236[label="",style="solid", color="burlywood", weight=3]; 7649[label="vyv351/True",fontsize=10,color="white",style="solid",shape="box"];4191 -> 7649[label="",style="solid", color="burlywood", weight=9]; 7649 -> 4237[label="",style="solid", color="burlywood", weight=3]; 4201[label="absReal1 vyv294 (not (primCmpInt vyv294 (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];7650[label="vyv294/Pos vyv2940",fontsize=10,color="white",style="solid",shape="box"];4201 -> 7650[label="",style="solid", color="burlywood", weight=9]; 7650 -> 4238[label="",style="solid", color="burlywood", weight=3]; 7651[label="vyv294/Neg vyv2940",fontsize=10,color="white",style="solid",shape="box"];4201 -> 7651[label="",style="solid", color="burlywood", weight=9]; 7651 -> 4239[label="",style="solid", color="burlywood", weight=3]; 4202[label="absReal1 (Integer vyv2970) (not (compare (Integer vyv2970) (Integer (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];4202 -> 4240[label="",style="solid", color="black", weight=3]; 4203[label="vyv347 `rem` vyv346",fontsize=16,color="burlywood",shape="triangle"];7652[label="vyv347/Integer vyv3470",fontsize=10,color="white",style="solid",shape="box"];4203 -> 7652[label="",style="solid", color="burlywood", weight=9]; 7652 -> 4241[label="",style="solid", color="burlywood", weight=3]; 4204[label="gcd0Gcd'1 False vyv346 (vyv347 `rem` vyv346)",fontsize=16,color="black",shape="box"];4204 -> 4242[label="",style="solid", color="black", weight=3]; 4205[label="gcd0Gcd'1 True vyv346 (vyv347 `rem` vyv346)",fontsize=16,color="black",shape="box"];4205 -> 4243[label="",style="solid", color="black", weight=3]; 4235[label="vyv345 `rem` vyv344",fontsize=16,color="black",shape="triangle"];4235 -> 4273[label="",style="solid", color="black", weight=3]; 4236[label="gcd0Gcd'1 False vyv344 (vyv345 `rem` vyv344)",fontsize=16,color="black",shape="box"];4236 -> 4274[label="",style="solid", color="black", weight=3]; 4237[label="gcd0Gcd'1 True vyv344 (vyv345 `rem` vyv344)",fontsize=16,color="black",shape="box"];4237 -> 4275[label="",style="solid", color="black", weight=3]; 4238[label="absReal1 (Pos vyv2940) (not (primCmpInt (Pos vyv2940) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];7653[label="vyv2940/Succ vyv29400",fontsize=10,color="white",style="solid",shape="box"];4238 -> 7653[label="",style="solid", color="burlywood", weight=9]; 7653 -> 4276[label="",style="solid", color="burlywood", weight=3]; 7654[label="vyv2940/Zero",fontsize=10,color="white",style="solid",shape="box"];4238 -> 7654[label="",style="solid", color="burlywood", weight=9]; 7654 -> 4277[label="",style="solid", color="burlywood", weight=3]; 4239[label="absReal1 (Neg vyv2940) (not (primCmpInt (Neg vyv2940) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];7655[label="vyv2940/Succ vyv29400",fontsize=10,color="white",style="solid",shape="box"];4239 -> 7655[label="",style="solid", color="burlywood", weight=9]; 7655 -> 4278[label="",style="solid", color="burlywood", weight=3]; 7656[label="vyv2940/Zero",fontsize=10,color="white",style="solid",shape="box"];4239 -> 7656[label="",style="solid", color="burlywood", weight=9]; 7656 -> 4279[label="",style="solid", color="burlywood", weight=3]; 4240[label="absReal1 (Integer vyv2970) (not (primCmpInt vyv2970 (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];7657[label="vyv2970/Pos vyv29700",fontsize=10,color="white",style="solid",shape="box"];4240 -> 7657[label="",style="solid", color="burlywood", weight=9]; 7657 -> 4280[label="",style="solid", color="burlywood", weight=3]; 7658[label="vyv2970/Neg vyv29700",fontsize=10,color="white",style="solid",shape="box"];4240 -> 7658[label="",style="solid", color="burlywood", weight=9]; 7658 -> 4281[label="",style="solid", color="burlywood", weight=3]; 4241[label="Integer vyv3470 `rem` vyv346",fontsize=16,color="burlywood",shape="box"];7659[label="vyv346/Integer vyv3460",fontsize=10,color="white",style="solid",shape="box"];4241 -> 7659[label="",style="solid", color="burlywood", weight=9]; 7659 -> 4282[label="",style="solid", color="burlywood", weight=3]; 4242 -> 4084[label="",style="dashed", color="red", weight=0]; 4242[label="gcd0Gcd'0 vyv346 (vyv347 `rem` vyv346)",fontsize=16,color="magenta"];4242 -> 4283[label="",style="dashed", color="magenta", weight=3]; 4242 -> 4284[label="",style="dashed", color="magenta", weight=3]; 4243[label="vyv346",fontsize=16,color="green",shape="box"];4273[label="primRemInt vyv345 vyv344",fontsize=16,color="burlywood",shape="triangle"];7660[label="vyv345/Pos vyv3450",fontsize=10,color="white",style="solid",shape="box"];4273 -> 7660[label="",style="solid", color="burlywood", weight=9]; 7660 -> 4308[label="",style="solid", color="burlywood", weight=3]; 7661[label="vyv345/Neg vyv3450",fontsize=10,color="white",style="solid",shape="box"];4273 -> 7661[label="",style="solid", color="burlywood", weight=9]; 7661 -> 4309[label="",style="solid", color="burlywood", weight=3]; 4274 -> 4072[label="",style="dashed", color="red", weight=0]; 4274[label="gcd0Gcd'0 vyv344 (vyv345 `rem` vyv344)",fontsize=16,color="magenta"];4274 -> 4310[label="",style="dashed", color="magenta", weight=3]; 4274 -> 4311[label="",style="dashed", color="magenta", weight=3]; 4275[label="vyv344",fontsize=16,color="green",shape="box"];4276[label="absReal1 (Pos (Succ vyv29400)) (not (primCmpInt (Pos (Succ vyv29400)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];4276 -> 4312[label="",style="solid", color="black", weight=3]; 4277[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];4277 -> 4313[label="",style="solid", color="black", weight=3]; 4278[label="absReal1 (Neg (Succ vyv29400)) (not (primCmpInt (Neg (Succ vyv29400)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];4278 -> 4314[label="",style="solid", color="black", weight=3]; 4279[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];4279 -> 4315[label="",style="solid", color="black", weight=3]; 4280[label="absReal1 (Integer (Pos vyv29700)) (not (primCmpInt (Pos vyv29700) (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];7662[label="vyv29700/Succ vyv297000",fontsize=10,color="white",style="solid",shape="box"];4280 -> 7662[label="",style="solid", color="burlywood", weight=9]; 7662 -> 4316[label="",style="solid", color="burlywood", weight=3]; 7663[label="vyv29700/Zero",fontsize=10,color="white",style="solid",shape="box"];4280 -> 7663[label="",style="solid", color="burlywood", weight=9]; 7663 -> 4317[label="",style="solid", color="burlywood", weight=3]; 4281[label="absReal1 (Integer (Neg vyv29700)) (not (primCmpInt (Neg vyv29700) (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];7664[label="vyv29700/Succ vyv297000",fontsize=10,color="white",style="solid",shape="box"];4281 -> 7664[label="",style="solid", color="burlywood", weight=9]; 7664 -> 4318[label="",style="solid", color="burlywood", weight=3]; 7665[label="vyv29700/Zero",fontsize=10,color="white",style="solid",shape="box"];4281 -> 7665[label="",style="solid", color="burlywood", weight=9]; 7665 -> 4319[label="",style="solid", color="burlywood", weight=3]; 4282[label="Integer vyv3470 `rem` Integer vyv3460",fontsize=16,color="black",shape="box"];4282 -> 4320[label="",style="solid", color="black", weight=3]; 4283[label="vyv346",fontsize=16,color="green",shape="box"];4284 -> 4203[label="",style="dashed", color="red", weight=0]; 4284[label="vyv347 `rem` vyv346",fontsize=16,color="magenta"];4308[label="primRemInt (Pos vyv3450) vyv344",fontsize=16,color="burlywood",shape="box"];7666[label="vyv344/Pos vyv3440",fontsize=10,color="white",style="solid",shape="box"];4308 -> 7666[label="",style="solid", color="burlywood", weight=9]; 7666 -> 4343[label="",style="solid", color="burlywood", weight=3]; 7667[label="vyv344/Neg vyv3440",fontsize=10,color="white",style="solid",shape="box"];4308 -> 7667[label="",style="solid", color="burlywood", weight=9]; 7667 -> 4344[label="",style="solid", color="burlywood", weight=3]; 4309[label="primRemInt (Neg vyv3450) vyv344",fontsize=16,color="burlywood",shape="box"];7668[label="vyv344/Pos vyv3440",fontsize=10,color="white",style="solid",shape="box"];4309 -> 7668[label="",style="solid", color="burlywood", weight=9]; 7668 -> 4345[label="",style="solid", color="burlywood", weight=3]; 7669[label="vyv344/Neg vyv3440",fontsize=10,color="white",style="solid",shape="box"];4309 -> 7669[label="",style="solid", color="burlywood", weight=9]; 7669 -> 4346[label="",style="solid", color="burlywood", weight=3]; 4310 -> 4235[label="",style="dashed", color="red", weight=0]; 4310[label="vyv345 `rem` vyv344",fontsize=16,color="magenta"];4311[label="vyv344",fontsize=16,color="green",shape="box"];4312[label="absReal1 (Pos (Succ vyv29400)) (not (primCmpInt (Pos (Succ vyv29400)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];4312 -> 4347[label="",style="solid", color="black", weight=3]; 4313[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];4313 -> 4348[label="",style="solid", color="black", weight=3]; 4314[label="absReal1 (Neg (Succ vyv29400)) (not (primCmpInt (Neg (Succ vyv29400)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];4314 -> 4349[label="",style="solid", color="black", weight=3]; 4315[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];4315 -> 4350[label="",style="solid", color="black", weight=3]; 4316[label="absReal1 (Integer (Pos (Succ vyv297000))) (not (primCmpInt (Pos (Succ vyv297000)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];4316 -> 4351[label="",style="solid", color="black", weight=3]; 4317[label="absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];4317 -> 4352[label="",style="solid", color="black", weight=3]; 4318[label="absReal1 (Integer (Neg (Succ vyv297000))) (not (primCmpInt (Neg (Succ vyv297000)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];4318 -> 4353[label="",style="solid", color="black", weight=3]; 4319[label="absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];4319 -> 4354[label="",style="solid", color="black", weight=3]; 4320[label="Integer (primRemInt vyv3470 vyv3460)",fontsize=16,color="green",shape="box"];4320 -> 4355[label="",style="dashed", color="green", weight=3]; 4343[label="primRemInt (Pos vyv3450) (Pos vyv3440)",fontsize=16,color="burlywood",shape="box"];7670[label="vyv3440/Succ vyv34400",fontsize=10,color="white",style="solid",shape="box"];4343 -> 7670[label="",style="solid", color="burlywood", weight=9]; 7670 -> 4383[label="",style="solid", color="burlywood", weight=3]; 7671[label="vyv3440/Zero",fontsize=10,color="white",style="solid",shape="box"];4343 -> 7671[label="",style="solid", color="burlywood", weight=9]; 7671 -> 4384[label="",style="solid", color="burlywood", weight=3]; 4344[label="primRemInt (Pos vyv3450) (Neg vyv3440)",fontsize=16,color="burlywood",shape="box"];7672[label="vyv3440/Succ vyv34400",fontsize=10,color="white",style="solid",shape="box"];4344 -> 7672[label="",style="solid", color="burlywood", weight=9]; 7672 -> 4385[label="",style="solid", color="burlywood", weight=3]; 7673[label="vyv3440/Zero",fontsize=10,color="white",style="solid",shape="box"];4344 -> 7673[label="",style="solid", color="burlywood", weight=9]; 7673 -> 4386[label="",style="solid", color="burlywood", weight=3]; 4345[label="primRemInt (Neg vyv3450) (Pos vyv3440)",fontsize=16,color="burlywood",shape="box"];7674[label="vyv3440/Succ vyv34400",fontsize=10,color="white",style="solid",shape="box"];4345 -> 7674[label="",style="solid", color="burlywood", weight=9]; 7674 -> 4387[label="",style="solid", color="burlywood", weight=3]; 7675[label="vyv3440/Zero",fontsize=10,color="white",style="solid",shape="box"];4345 -> 7675[label="",style="solid", color="burlywood", weight=9]; 7675 -> 4388[label="",style="solid", color="burlywood", weight=3]; 4346[label="primRemInt (Neg vyv3450) (Neg vyv3440)",fontsize=16,color="burlywood",shape="box"];7676[label="vyv3440/Succ vyv34400",fontsize=10,color="white",style="solid",shape="box"];4346 -> 7676[label="",style="solid", color="burlywood", weight=9]; 7676 -> 4389[label="",style="solid", color="burlywood", weight=3]; 7677[label="vyv3440/Zero",fontsize=10,color="white",style="solid",shape="box"];4346 -> 7677[label="",style="solid", color="burlywood", weight=9]; 7677 -> 4390[label="",style="solid", color="burlywood", weight=3]; 4347[label="absReal1 (Pos (Succ vyv29400)) (not (primCmpNat (Succ vyv29400) Zero == LT))",fontsize=16,color="black",shape="box"];4347 -> 4391[label="",style="solid", color="black", weight=3]; 4348[label="absReal1 (Pos Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];4348 -> 4392[label="",style="solid", color="black", weight=3]; 4349[label="absReal1 (Neg (Succ vyv29400)) (not (LT == LT))",fontsize=16,color="black",shape="box"];4349 -> 4393[label="",style="solid", color="black", weight=3]; 4350[label="absReal1 (Neg Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];4350 -> 4394[label="",style="solid", color="black", weight=3]; 4351[label="absReal1 (Integer (Pos (Succ vyv297000))) (not (primCmpNat (Succ vyv297000) Zero == LT))",fontsize=16,color="black",shape="box"];4351 -> 4395[label="",style="solid", color="black", weight=3]; 4352[label="absReal1 (Integer (Pos Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];4352 -> 4396[label="",style="solid", color="black", weight=3]; 4353[label="absReal1 (Integer (Neg (Succ vyv297000))) (not (LT == LT))",fontsize=16,color="black",shape="box"];4353 -> 4397[label="",style="solid", color="black", weight=3]; 4354[label="absReal1 (Integer (Neg Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];4354 -> 4398[label="",style="solid", color="black", weight=3]; 4355 -> 4273[label="",style="dashed", color="red", weight=0]; 4355[label="primRemInt vyv3470 vyv3460",fontsize=16,color="magenta"];4355 -> 4399[label="",style="dashed", color="magenta", weight=3]; 4355 -> 4400[label="",style="dashed", color="magenta", weight=3]; 4383[label="primRemInt (Pos vyv3450) (Pos (Succ vyv34400))",fontsize=16,color="black",shape="box"];4383 -> 4435[label="",style="solid", color="black", weight=3]; 4384[label="primRemInt (Pos vyv3450) (Pos Zero)",fontsize=16,color="black",shape="box"];4384 -> 4436[label="",style="solid", color="black", weight=3]; 4385[label="primRemInt (Pos vyv3450) (Neg (Succ vyv34400))",fontsize=16,color="black",shape="box"];4385 -> 4437[label="",style="solid", color="black", weight=3]; 4386[label="primRemInt (Pos vyv3450) (Neg Zero)",fontsize=16,color="black",shape="box"];4386 -> 4438[label="",style="solid", color="black", weight=3]; 4387[label="primRemInt (Neg vyv3450) (Pos (Succ vyv34400))",fontsize=16,color="black",shape="box"];4387 -> 4439[label="",style="solid", color="black", weight=3]; 4388[label="primRemInt (Neg vyv3450) (Pos Zero)",fontsize=16,color="black",shape="box"];4388 -> 4440[label="",style="solid", color="black", weight=3]; 4389[label="primRemInt (Neg vyv3450) (Neg (Succ vyv34400))",fontsize=16,color="black",shape="box"];4389 -> 4441[label="",style="solid", color="black", weight=3]; 4390[label="primRemInt (Neg vyv3450) (Neg Zero)",fontsize=16,color="black",shape="box"];4390 -> 4442[label="",style="solid", color="black", weight=3]; 4391[label="absReal1 (Pos (Succ vyv29400)) (not (GT == LT))",fontsize=16,color="black",shape="box"];4391 -> 4443[label="",style="solid", color="black", weight=3]; 4392[label="absReal1 (Pos Zero) (not False)",fontsize=16,color="black",shape="box"];4392 -> 4444[label="",style="solid", color="black", weight=3]; 4393[label="absReal1 (Neg (Succ vyv29400)) (not True)",fontsize=16,color="black",shape="box"];4393 -> 4445[label="",style="solid", color="black", weight=3]; 4394[label="absReal1 (Neg Zero) (not False)",fontsize=16,color="black",shape="box"];4394 -> 4446[label="",style="solid", color="black", weight=3]; 4395[label="absReal1 (Integer (Pos (Succ vyv297000))) (not (GT == LT))",fontsize=16,color="black",shape="box"];4395 -> 4447[label="",style="solid", color="black", weight=3]; 4396[label="absReal1 (Integer (Pos Zero)) (not False)",fontsize=16,color="black",shape="box"];4396 -> 4448[label="",style="solid", color="black", weight=3]; 4397[label="absReal1 (Integer (Neg (Succ vyv297000))) (not True)",fontsize=16,color="black",shape="box"];4397 -> 4449[label="",style="solid", color="black", weight=3]; 4398[label="absReal1 (Integer (Neg Zero)) (not False)",fontsize=16,color="black",shape="box"];4398 -> 4450[label="",style="solid", color="black", weight=3]; 4399[label="vyv3460",fontsize=16,color="green",shape="box"];4400[label="vyv3470",fontsize=16,color="green",shape="box"];4435[label="Pos (primModNatS vyv3450 (Succ vyv34400))",fontsize=16,color="green",shape="box"];4435 -> 5469[label="",style="dashed", color="green", weight=3]; 4436 -> 65[label="",style="dashed", color="red", weight=0]; 4436[label="error []",fontsize=16,color="magenta"];4437[label="Pos (primModNatS vyv3450 (Succ vyv34400))",fontsize=16,color="green",shape="box"];4437 -> 5470[label="",style="dashed", color="green", weight=3]; 4438 -> 65[label="",style="dashed", color="red", weight=0]; 4438[label="error []",fontsize=16,color="magenta"];4439[label="Neg (primModNatS vyv3450 (Succ vyv34400))",fontsize=16,color="green",shape="box"];4439 -> 5471[label="",style="dashed", color="green", weight=3]; 4440 -> 65[label="",style="dashed", color="red", weight=0]; 4440[label="error []",fontsize=16,color="magenta"];4441[label="Neg (primModNatS vyv3450 (Succ vyv34400))",fontsize=16,color="green",shape="box"];4441 -> 5472[label="",style="dashed", color="green", weight=3]; 4442 -> 65[label="",style="dashed", color="red", weight=0]; 4442[label="error []",fontsize=16,color="magenta"];4443[label="absReal1 (Pos (Succ vyv29400)) (not False)",fontsize=16,color="black",shape="box"];4443 -> 5473[label="",style="solid", color="black", weight=3]; 4444[label="absReal1 (Pos Zero) True",fontsize=16,color="black",shape="box"];4444 -> 5474[label="",style="solid", color="black", weight=3]; 4445[label="absReal1 (Neg (Succ vyv29400)) False",fontsize=16,color="black",shape="box"];4445 -> 5475[label="",style="solid", color="black", weight=3]; 4446[label="absReal1 (Neg Zero) True",fontsize=16,color="black",shape="box"];4446 -> 5476[label="",style="solid", color="black", weight=3]; 4447[label="absReal1 (Integer (Pos (Succ vyv297000))) (not False)",fontsize=16,color="black",shape="box"];4447 -> 5477[label="",style="solid", color="black", weight=3]; 4448[label="absReal1 (Integer (Pos Zero)) True",fontsize=16,color="black",shape="box"];4448 -> 5478[label="",style="solid", color="black", weight=3]; 4449[label="absReal1 (Integer (Neg (Succ vyv297000))) False",fontsize=16,color="black",shape="box"];4449 -> 5479[label="",style="solid", color="black", weight=3]; 4450[label="absReal1 (Integer (Neg Zero)) True",fontsize=16,color="black",shape="box"];4450 -> 5480[label="",style="solid", color="black", weight=3]; 5469[label="primModNatS vyv3450 (Succ vyv34400)",fontsize=16,color="burlywood",shape="triangle"];7678[label="vyv3450/Succ vyv34500",fontsize=10,color="white",style="solid",shape="box"];5469 -> 7678[label="",style="solid", color="burlywood", weight=9]; 7678 -> 5645[label="",style="solid", color="burlywood", weight=3]; 7679[label="vyv3450/Zero",fontsize=10,color="white",style="solid",shape="box"];5469 -> 7679[label="",style="solid", color="burlywood", weight=9]; 7679 -> 5646[label="",style="solid", color="burlywood", weight=3]; 5470 -> 5469[label="",style="dashed", color="red", weight=0]; 5470[label="primModNatS vyv3450 (Succ vyv34400)",fontsize=16,color="magenta"];5470 -> 5647[label="",style="dashed", color="magenta", weight=3]; 5471 -> 5469[label="",style="dashed", color="red", weight=0]; 5471[label="primModNatS vyv3450 (Succ vyv34400)",fontsize=16,color="magenta"];5471 -> 5648[label="",style="dashed", color="magenta", weight=3]; 5472 -> 5469[label="",style="dashed", color="red", weight=0]; 5472[label="primModNatS vyv3450 (Succ vyv34400)",fontsize=16,color="magenta"];5472 -> 5649[label="",style="dashed", color="magenta", weight=3]; 5472 -> 5650[label="",style="dashed", color="magenta", weight=3]; 5473[label="absReal1 (Pos (Succ vyv29400)) True",fontsize=16,color="black",shape="box"];5473 -> 5651[label="",style="solid", color="black", weight=3]; 5474[label="Pos Zero",fontsize=16,color="green",shape="box"];5475[label="absReal0 (Neg (Succ vyv29400)) otherwise",fontsize=16,color="black",shape="box"];5475 -> 5652[label="",style="solid", color="black", weight=3]; 5476[label="Neg Zero",fontsize=16,color="green",shape="box"];5477[label="absReal1 (Integer (Pos (Succ vyv297000))) True",fontsize=16,color="black",shape="box"];5477 -> 5653[label="",style="solid", color="black", weight=3]; 5478[label="Integer (Pos Zero)",fontsize=16,color="green",shape="box"];5479[label="absReal0 (Integer (Neg (Succ vyv297000))) otherwise",fontsize=16,color="black",shape="box"];5479 -> 5654[label="",style="solid", color="black", weight=3]; 5480[label="Integer (Neg Zero)",fontsize=16,color="green",shape="box"];5645[label="primModNatS (Succ vyv34500) (Succ vyv34400)",fontsize=16,color="black",shape="box"];5645 -> 6052[label="",style="solid", color="black", weight=3]; 5646[label="primModNatS Zero (Succ vyv34400)",fontsize=16,color="black",shape="box"];5646 -> 6053[label="",style="solid", color="black", weight=3]; 5647[label="vyv34400",fontsize=16,color="green",shape="box"];5648[label="vyv3450",fontsize=16,color="green",shape="box"];5649[label="vyv34400",fontsize=16,color="green",shape="box"];5650[label="vyv3450",fontsize=16,color="green",shape="box"];5651[label="Pos (Succ vyv29400)",fontsize=16,color="green",shape="box"];5652[label="absReal0 (Neg (Succ vyv29400)) True",fontsize=16,color="black",shape="box"];5652 -> 6054[label="",style="solid", color="black", weight=3]; 5653[label="Integer (Pos (Succ vyv297000))",fontsize=16,color="green",shape="box"];5654[label="absReal0 (Integer (Neg (Succ vyv297000))) True",fontsize=16,color="black",shape="box"];5654 -> 6055[label="",style="solid", color="black", weight=3]; 6052[label="primModNatS0 vyv34500 vyv34400 (primGEqNatS vyv34500 vyv34400)",fontsize=16,color="burlywood",shape="box"];7680[label="vyv34500/Succ vyv345000",fontsize=10,color="white",style="solid",shape="box"];6052 -> 7680[label="",style="solid", color="burlywood", weight=9]; 7680 -> 6489[label="",style="solid", color="burlywood", weight=3]; 7681[label="vyv34500/Zero",fontsize=10,color="white",style="solid",shape="box"];6052 -> 7681[label="",style="solid", color="burlywood", weight=9]; 7681 -> 6490[label="",style="solid", color="burlywood", weight=3]; 6053[label="Zero",fontsize=16,color="green",shape="box"];6054[label="`negate` Neg (Succ vyv29400)",fontsize=16,color="black",shape="box"];6054 -> 6491[label="",style="solid", color="black", weight=3]; 6055[label="`negate` Integer (Neg (Succ vyv297000))",fontsize=16,color="black",shape="box"];6055 -> 6492[label="",style="solid", color="black", weight=3]; 6489[label="primModNatS0 (Succ vyv345000) vyv34400 (primGEqNatS (Succ vyv345000) vyv34400)",fontsize=16,color="burlywood",shape="box"];7682[label="vyv34400/Succ vyv344000",fontsize=10,color="white",style="solid",shape="box"];6489 -> 7682[label="",style="solid", color="burlywood", weight=9]; 7682 -> 6710[label="",style="solid", color="burlywood", weight=3]; 7683[label="vyv34400/Zero",fontsize=10,color="white",style="solid",shape="box"];6489 -> 7683[label="",style="solid", color="burlywood", weight=9]; 7683 -> 6711[label="",style="solid", color="burlywood", weight=3]; 6490[label="primModNatS0 Zero vyv34400 (primGEqNatS Zero vyv34400)",fontsize=16,color="burlywood",shape="box"];7684[label="vyv34400/Succ vyv344000",fontsize=10,color="white",style="solid",shape="box"];6490 -> 7684[label="",style="solid", color="burlywood", weight=9]; 7684 -> 6712[label="",style="solid", color="burlywood", weight=3]; 7685[label="vyv34400/Zero",fontsize=10,color="white",style="solid",shape="box"];6490 -> 7685[label="",style="solid", color="burlywood", weight=9]; 7685 -> 6713[label="",style="solid", color="burlywood", weight=3]; 6491[label="primNegInt (Neg (Succ vyv29400))",fontsize=16,color="black",shape="triangle"];6491 -> 6714[label="",style="solid", color="black", weight=3]; 6492[label="Integer (primNegInt (Neg (Succ vyv297000)))",fontsize=16,color="green",shape="box"];6492 -> 6715[label="",style="dashed", color="green", weight=3]; 6710[label="primModNatS0 (Succ vyv345000) (Succ vyv344000) (primGEqNatS (Succ vyv345000) (Succ vyv344000))",fontsize=16,color="black",shape="box"];6710 -> 6790[label="",style="solid", color="black", weight=3]; 6711[label="primModNatS0 (Succ vyv345000) Zero (primGEqNatS (Succ vyv345000) Zero)",fontsize=16,color="black",shape="box"];6711 -> 6791[label="",style="solid", color="black", weight=3]; 6712[label="primModNatS0 Zero (Succ vyv344000) (primGEqNatS Zero (Succ vyv344000))",fontsize=16,color="black",shape="box"];6712 -> 6792[label="",style="solid", color="black", weight=3]; 6713[label="primModNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];6713 -> 6793[label="",style="solid", color="black", weight=3]; 6714[label="Pos (Succ vyv29400)",fontsize=16,color="green",shape="box"];6715 -> 6491[label="",style="dashed", color="red", weight=0]; 6715[label="primNegInt (Neg (Succ vyv297000))",fontsize=16,color="magenta"];6715 -> 6794[label="",style="dashed", color="magenta", weight=3]; 6790 -> 7255[label="",style="dashed", color="red", weight=0]; 6790[label="primModNatS0 (Succ vyv345000) (Succ vyv344000) (primGEqNatS vyv345000 vyv344000)",fontsize=16,color="magenta"];6790 -> 7256[label="",style="dashed", color="magenta", weight=3]; 6790 -> 7257[label="",style="dashed", color="magenta", weight=3]; 6790 -> 7258[label="",style="dashed", color="magenta", weight=3]; 6790 -> 7259[label="",style="dashed", color="magenta", weight=3]; 6791[label="primModNatS0 (Succ vyv345000) Zero True",fontsize=16,color="black",shape="box"];6791 -> 6822[label="",style="solid", color="black", weight=3]; 6792[label="primModNatS0 Zero (Succ vyv344000) False",fontsize=16,color="black",shape="box"];6792 -> 6823[label="",style="solid", color="black", weight=3]; 6793[label="primModNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];6793 -> 6824[label="",style="solid", color="black", weight=3]; 6794[label="vyv297000",fontsize=16,color="green",shape="box"];7256[label="vyv345000",fontsize=16,color="green",shape="box"];7257[label="vyv345000",fontsize=16,color="green",shape="box"];7258[label="vyv344000",fontsize=16,color="green",shape="box"];7259[label="vyv344000",fontsize=16,color="green",shape="box"];7255[label="primModNatS0 (Succ vyv451) (Succ vyv452) (primGEqNatS vyv453 vyv454)",fontsize=16,color="burlywood",shape="triangle"];7686[label="vyv453/Succ vyv4530",fontsize=10,color="white",style="solid",shape="box"];7255 -> 7686[label="",style="solid", color="burlywood", weight=9]; 7686 -> 7288[label="",style="solid", color="burlywood", weight=3]; 7687[label="vyv453/Zero",fontsize=10,color="white",style="solid",shape="box"];7255 -> 7687[label="",style="solid", color="burlywood", weight=9]; 7687 -> 7289[label="",style="solid", color="burlywood", weight=3]; 6822 -> 5469[label="",style="dashed", color="red", weight=0]; 6822[label="primModNatS (primMinusNatS (Succ vyv345000) Zero) (Succ Zero)",fontsize=16,color="magenta"];6822 -> 6876[label="",style="dashed", color="magenta", weight=3]; 6822 -> 6877[label="",style="dashed", color="magenta", weight=3]; 6823[label="Succ Zero",fontsize=16,color="green",shape="box"];6824 -> 5469[label="",style="dashed", color="red", weight=0]; 6824[label="primModNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];6824 -> 6878[label="",style="dashed", color="magenta", weight=3]; 6824 -> 6879[label="",style="dashed", color="magenta", weight=3]; 7288[label="primModNatS0 (Succ vyv451) (Succ vyv452) (primGEqNatS (Succ vyv4530) vyv454)",fontsize=16,color="burlywood",shape="box"];7688[label="vyv454/Succ vyv4540",fontsize=10,color="white",style="solid",shape="box"];7288 -> 7688[label="",style="solid", color="burlywood", weight=9]; 7688 -> 7290[label="",style="solid", color="burlywood", weight=3]; 7689[label="vyv454/Zero",fontsize=10,color="white",style="solid",shape="box"];7288 -> 7689[label="",style="solid", color="burlywood", weight=9]; 7689 -> 7291[label="",style="solid", color="burlywood", weight=3]; 7289[label="primModNatS0 (Succ vyv451) (Succ vyv452) (primGEqNatS Zero vyv454)",fontsize=16,color="burlywood",shape="box"];7690[label="vyv454/Succ vyv4540",fontsize=10,color="white",style="solid",shape="box"];7289 -> 7690[label="",style="solid", color="burlywood", weight=9]; 7690 -> 7292[label="",style="solid", color="burlywood", weight=3]; 7691[label="vyv454/Zero",fontsize=10,color="white",style="solid",shape="box"];7289 -> 7691[label="",style="solid", color="burlywood", weight=9]; 7691 -> 7293[label="",style="solid", color="burlywood", weight=3]; 6876[label="Zero",fontsize=16,color="green",shape="box"];6877 -> 3445[label="",style="dashed", color="red", weight=0]; 6877[label="primMinusNatS (Succ vyv345000) Zero",fontsize=16,color="magenta"];6877 -> 6912[label="",style="dashed", color="magenta", weight=3]; 6878[label="Zero",fontsize=16,color="green",shape="box"];6879 -> 3446[label="",style="dashed", color="red", weight=0]; 6879[label="primMinusNatS Zero Zero",fontsize=16,color="magenta"];7290[label="primModNatS0 (Succ vyv451) (Succ vyv452) (primGEqNatS (Succ vyv4530) (Succ vyv4540))",fontsize=16,color="black",shape="box"];7290 -> 7294[label="",style="solid", color="black", weight=3]; 7291[label="primModNatS0 (Succ vyv451) (Succ vyv452) (primGEqNatS (Succ vyv4530) Zero)",fontsize=16,color="black",shape="box"];7291 -> 7295[label="",style="solid", color="black", weight=3]; 7292[label="primModNatS0 (Succ vyv451) (Succ vyv452) (primGEqNatS Zero (Succ vyv4540))",fontsize=16,color="black",shape="box"];7292 -> 7296[label="",style="solid", color="black", weight=3]; 7293[label="primModNatS0 (Succ vyv451) (Succ vyv452) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];7293 -> 7297[label="",style="solid", color="black", weight=3]; 6912[label="vyv345000",fontsize=16,color="green",shape="box"];7294 -> 7255[label="",style="dashed", color="red", weight=0]; 7294[label="primModNatS0 (Succ vyv451) (Succ vyv452) (primGEqNatS vyv4530 vyv4540)",fontsize=16,color="magenta"];7294 -> 7298[label="",style="dashed", color="magenta", weight=3]; 7294 -> 7299[label="",style="dashed", color="magenta", weight=3]; 7295[label="primModNatS0 (Succ vyv451) (Succ vyv452) True",fontsize=16,color="black",shape="triangle"];7295 -> 7300[label="",style="solid", color="black", weight=3]; 7296[label="primModNatS0 (Succ vyv451) (Succ vyv452) False",fontsize=16,color="black",shape="box"];7296 -> 7301[label="",style="solid", color="black", weight=3]; 7297 -> 7295[label="",style="dashed", color="red", weight=0]; 7297[label="primModNatS0 (Succ vyv451) (Succ vyv452) True",fontsize=16,color="magenta"];7298[label="vyv4530",fontsize=16,color="green",shape="box"];7299[label="vyv4540",fontsize=16,color="green",shape="box"];7300 -> 5469[label="",style="dashed", color="red", weight=0]; 7300[label="primModNatS (primMinusNatS (Succ vyv451) (Succ vyv452)) (Succ (Succ vyv452))",fontsize=16,color="magenta"];7300 -> 7302[label="",style="dashed", color="magenta", weight=3]; 7300 -> 7303[label="",style="dashed", color="magenta", weight=3]; 7301[label="Succ (Succ vyv451)",fontsize=16,color="green",shape="box"];7302[label="Succ vyv452",fontsize=16,color="green",shape="box"];7303 -> 6982[label="",style="dashed", color="red", weight=0]; 7303[label="primMinusNatS (Succ vyv451) (Succ vyv452)",fontsize=16,color="magenta"];7303 -> 7304[label="",style="dashed", color="magenta", weight=3]; 7303 -> 7305[label="",style="dashed", color="magenta", weight=3]; 7304[label="Succ vyv452",fontsize=16,color="green",shape="box"];7305[label="Succ vyv451",fontsize=16,color="green",shape="box"];} ---------------------------------------- (12) Complex Obligation (AND) ---------------------------------------- (13) Obligation: Q DP problem: The TRS P consists of the following rules: new_primDivNatS(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS0(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS0(vyv400, vyv401, Zero, Zero) -> new_primDivNatS00(vyv400, vyv401) new_primDivNatS(Succ(Succ(vyv293000)), Zero) -> new_primDivNatS(new_primMinusNatS0(vyv293000), Zero) new_primDivNatS0(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS0(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS0(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401)) new_primDivNatS00(vyv400, vyv401) -> new_primDivNatS(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401)) new_primDivNatS(Succ(Zero), Zero) -> new_primDivNatS(new_primMinusNatS1, Zero) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS2(Zero, Zero) new_primMinusNatS1 new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (14) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. ---------------------------------------- (15) Complex Obligation (AND) ---------------------------------------- (16) Obligation: Q DP problem: The TRS P consists of the following rules: new_primDivNatS(Succ(Succ(vyv293000)), Zero) -> new_primDivNatS(new_primMinusNatS0(vyv293000), Zero) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS2(Zero, Zero) new_primMinusNatS1 new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (17) MRRProof (EQUIVALENT) By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented. Strictly oriented dependency pairs: new_primDivNatS(Succ(Succ(vyv293000)), Zero) -> new_primDivNatS(new_primMinusNatS0(vyv293000), Zero) Strictly oriented rules of the TRS R: new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Succ(vyv4010)) -> 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 ---------------------------------------- (18) Obligation: Q DP problem: P is empty. The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS2(Zero, Zero) new_primMinusNatS1 new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (19) PisEmptyProof (EQUIVALENT) The TRS P is empty. Hence, there is no (P,Q,R) chain. ---------------------------------------- (20) YES ---------------------------------------- (21) Obligation: Q DP problem: The TRS P consists of the following rules: new_primDivNatS0(vyv400, vyv401, Zero, Zero) -> new_primDivNatS00(vyv400, vyv401) new_primDivNatS00(vyv400, vyv401) -> new_primDivNatS(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401)) new_primDivNatS(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS0(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS0(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS0(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS0(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401)) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS2(Zero, Zero) new_primMinusNatS1 new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (22) 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(vyv400, vyv401) -> new_primDivNatS(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401)) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 1 >= 1 *new_primDivNatS(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS0(vyv293000, vyv327000, vyv293000, vyv327000) (allowed arguments on rhs = {1, 2, 3, 4}) The graph contains the following edges 1 > 1, 2 > 2, 1 > 3, 2 > 4 *new_primDivNatS0(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS0(vyv400, vyv401, vyv4020, vyv4030) (allowed arguments on rhs = {1, 2, 3, 4}) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 *new_primDivNatS0(vyv400, vyv401, Zero, Zero) -> new_primDivNatS00(vyv400, vyv401) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 1 >= 1, 2 >= 2 *new_primDivNatS0(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401)) (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(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) ---------------------------------------- (23) YES ---------------------------------------- (24) Obligation: Q DP problem: The TRS P consists of the following rules: new_primEvenNat(Succ(Succ(vyv272000))) -> new_primEvenNat(vyv272000) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (25) 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_primEvenNat(Succ(Succ(vyv272000))) -> new_primEvenNat(vyv272000) The graph contains the following edges 1 > 1 ---------------------------------------- (26) YES ---------------------------------------- (27) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F32(Succ(vyv4000), Succ(vyv5000), vyv3, h) -> new_pr2F32(vyv4000, vyv5000, vyv3, h) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (28) 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_pr2F32(Succ(vyv4000), Succ(vyv5000), vyv3, h) -> new_pr2F32(vyv4000, vyv5000, vyv3, h) The graph contains the following edges 1 > 1, 2 > 2, 3 >= 3, 4 >= 4 ---------------------------------------- (29) YES ---------------------------------------- (30) Obligation: Q DP problem: The TRS P consists of the following rules: new_primMulNat(Succ(vyv1200), Succ(vyv22500)) -> new_primMulNat(vyv1200, Succ(vyv22500)) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (31) 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(vyv1200), Succ(vyv22500)) -> new_primMulNat(vyv1200, Succ(vyv22500)) The graph contains the following edges 1 > 1, 2 >= 2 ---------------------------------------- (32) YES ---------------------------------------- (33) Obligation: Q DP problem: The TRS P consists of the following rules: new_primMinusNatS(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS(vyv4000, vyv4010) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (34) 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(vyv4000), Succ(vyv4010)) -> new_primMinusNatS(vyv4000, vyv4010) The graph contains the following edges 1 > 1, 2 > 2 ---------------------------------------- (35) YES ---------------------------------------- (36) Obligation: Q DP problem: The TRS P consists of the following rules: new_primMinusNat(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat(vyv24600, vyv24500) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (37) 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(vyv24600), Succ(vyv24500)) -> new_primMinusNat(vyv24600, vyv24500) The graph contains the following edges 1 > 1, 2 > 2 ---------------------------------------- (38) YES ---------------------------------------- (39) 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. ---------------------------------------- (40) 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 ---------------------------------------- (41) YES ---------------------------------------- (42) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS(Succ(Succ(vyv345000)), Zero) -> new_primModNatS(new_primMinusNatS0(vyv345000), Zero) new_primModNatS(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS0(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS(Succ(Zero), Zero) -> new_primModNatS(new_primMinusNatS1, Zero) new_primModNatS0(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS0(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS0(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS0(vyv451, vyv452, Zero, Zero) -> new_primModNatS00(vyv451, vyv452) new_primModNatS00(vyv451, vyv452) -> new_primModNatS(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS2(Zero, Zero) new_primMinusNatS1 new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (43) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. ---------------------------------------- (44) Complex Obligation (AND) ---------------------------------------- (45) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS0(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS0(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS0(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS0(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS0(vyv451, vyv452, Zero, Zero) -> new_primModNatS00(vyv451, vyv452) new_primModNatS00(vyv451, vyv452) -> new_primModNatS(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS2(Zero, Zero) new_primMinusNatS1 new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (46) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_primModNatS(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS0(vyv345000, vyv344000, vyv345000, vyv344000) 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(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero ---------------------------------------- (47) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS0(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS0(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS0(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS0(vyv451, vyv452, Zero, Zero) -> new_primModNatS00(vyv451, vyv452) new_primModNatS00(vyv451, vyv452) -> new_primModNatS(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS2(Zero, Zero) new_primMinusNatS1 new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (48) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 3 less nodes. ---------------------------------------- (49) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS0(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS0(vyv451, vyv452, vyv4530, vyv4540) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS2(Zero, Zero) new_primMinusNatS1 new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (50) 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(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS0(vyv451, vyv452, vyv4530, vyv4540) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 ---------------------------------------- (51) YES ---------------------------------------- (52) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS(Succ(Succ(vyv345000)), Zero) -> new_primModNatS(new_primMinusNatS0(vyv345000), Zero) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS2(Zero, Zero) new_primMinusNatS1 new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (53) 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(vyv345000)), Zero) -> new_primModNatS(new_primMinusNatS0(vyv345000), Zero) Strictly oriented rules of the TRS R: new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Succ(vyv4010)) -> 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 ---------------------------------------- (54) Obligation: Q DP problem: P is empty. The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS2(Zero, Zero) new_primMinusNatS1 new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (55) PisEmptyProof (EQUIVALENT) The TRS P is empty. Hence, there is no (P,Q,R) chain. ---------------------------------------- (56) YES ---------------------------------------- (57) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vyv114, vyv115, Succ(Succ(vyv11600)), h) -> new_pr2F0G12(vyv114, vyv115, vyv11600, h) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (58) 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_pr2F0G12(vyv114, vyv115, Succ(Succ(vyv11600)), h) -> new_pr2F0G12(vyv114, vyv115, vyv11600, h) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 >= 4 ---------------------------------------- (59) YES ---------------------------------------- (60) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(vyv220, vyv221, vyv222, False, bh, ca) -> new_pr2F30(new_esEs2(vyv222, ca), vyv221, vyv222, vyv220, bh, ca) new_pr2F0G(vyv209, vyv210, vyv211, bf, bg) -> new_pr2F0G10(vyv209, vyv210, vyv211, new_even0(vyv211, bg), bf, bg) new_pr2F0G0(vyv414, vyv415, vyv416, bd, be) -> new_pr2F3(new_esEs1(vyv416, be), vyv414, vyv416, vyv415, bd, be) new_pr2F0G10(vyv220, vyv221, vyv222, True, bh, ca) -> new_pr2F0G(vyv220, new_sr1(vyv221, bh), new_quot(vyv222, ca), bh, ca) new_pr2F0G11(vyv264, vyv265, vyv266, True, cd, ce) -> new_pr2F0G(new_sr4(vyv264, vyv265, cd), new_sr3(vyv264, cd), new_ms2(vyv266, ce), cd, ce) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F30(False, vyv241, vyv242, vyv243, cb, cc) -> new_pr2F0G11(vyv241, vyv243, vyv242, new_even1(vyv242, cc), cb, cc) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) The TRS R consists of the following rules: new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_primPlusNat0(Zero, Zero) -> Zero new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_quot(vyv222, ty_Int) -> new_quot0(vyv222) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primDivNatS1(Zero, vyv32700) -> Zero new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_ms2(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_even0(vyv211, ty_Integer) -> new_even3(new_quot1(vyv211)) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primEvenNat0(Zero) -> True new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_even3(vyv286) -> error([]) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primMulNat0(Zero, Zero) -> Zero new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMinusNatS2(Zero, Zero) -> Zero new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primEqInt(Neg(Succ(vyv38000))) -> False new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_error(df) -> error([]) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_quot(vyv222, ty_Integer) -> new_quot1(vyv222) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_even1(vyv242, ty_Int) -> new_even2(new_ms3(new_quot0(vyv242), new_fromInt)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_esEs1(vyv416, ty_Integer) -> new_esEs(new_ms4(vyv416, new_fromInt0)) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_abs0(Neg(Zero)) -> Neg(Zero) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_esEs2(vyv222, ty_Integer) -> new_esEs(new_ms4(new_quot1(vyv222), new_fromInt0)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_ms2(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primMinusNatS1 -> Zero new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_even0(vyv211, ty_Int) -> new_even2(new_quot0(vyv211)) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_esEs2(vyv222, ty_Int) -> new_esEs0(new_ms3(new_quot0(vyv222), new_fromInt)) new_esEs1(vyv416, ty_Int) -> new_esEs0(new_ms3(vyv416, new_fromInt)) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_primDivNatS2(Succ(Zero)) -> Zero new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_primDivNatS2(Zero) -> Zero new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_primEqInt(Pos(Zero)) -> True new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_abs0(Pos(Zero)) -> Pos(Zero) new_fromInt -> Pos(Succ(Zero)) new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_primEqInt(Neg(Zero)) -> True new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_ms4(vyv248, vyv247) -> error([]) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primModNatS1(Zero, vyv34400) -> Zero new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_even1(vyv242, ty_Integer) -> new_even3(new_ms4(new_quot1(vyv242), new_fromInt0)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_even1(x0, ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even0(x0, ty_Integer) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_ms2(x0, ty_Int) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_esEs1(x0, ty_Int) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs2(x0, ty_Int) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_even1(x0, ty_Int) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_even0(x0, ty_Int) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_esEs2(x0, ty_Integer) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_ms2(x0, ty_Integer) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs1(x0, ty_Integer) new_quot(x0, ty_Int) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_quot(x0, ty_Integer) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (61) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G10(vyv220, vyv221, vyv222, False, bh, ca) -> new_pr2F30(new_esEs2(vyv222, ca), vyv221, vyv222, vyv220, bh, ca) at position [0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, x0, False, y3, ty_Integer) -> new_pr2F30(new_esEs(new_ms4(new_quot1(x0), new_fromInt0)), y1, x0, y0, y3, ty_Integer),new_pr2F0G10(y0, y1, x0, False, y3, ty_Integer) -> new_pr2F30(new_esEs(new_ms4(new_quot1(x0), new_fromInt0)), y1, x0, y0, y3, ty_Integer)) (new_pr2F0G10(y0, y1, x0, False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_ms3(new_quot0(x0), new_fromInt)), y1, x0, y0, y3, ty_Int),new_pr2F0G10(y0, y1, x0, False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_ms3(new_quot0(x0), new_fromInt)), y1, x0, y0, y3, ty_Int)) ---------------------------------------- (62) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(vyv209, vyv210, vyv211, bf, bg) -> new_pr2F0G10(vyv209, vyv210, vyv211, new_even0(vyv211, bg), bf, bg) new_pr2F0G0(vyv414, vyv415, vyv416, bd, be) -> new_pr2F3(new_esEs1(vyv416, be), vyv414, vyv416, vyv415, bd, be) new_pr2F0G10(vyv220, vyv221, vyv222, True, bh, ca) -> new_pr2F0G(vyv220, new_sr1(vyv221, bh), new_quot(vyv222, ca), bh, ca) new_pr2F0G11(vyv264, vyv265, vyv266, True, cd, ce) -> new_pr2F0G(new_sr4(vyv264, vyv265, cd), new_sr3(vyv264, cd), new_ms2(vyv266, ce), cd, ce) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F30(False, vyv241, vyv242, vyv243, cb, cc) -> new_pr2F0G11(vyv241, vyv243, vyv242, new_even1(vyv242, cc), cb, cc) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G10(y0, y1, x0, False, y3, ty_Integer) -> new_pr2F30(new_esEs(new_ms4(new_quot1(x0), new_fromInt0)), y1, x0, y0, y3, ty_Integer) new_pr2F0G10(y0, y1, x0, False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_ms3(new_quot0(x0), new_fromInt)), y1, x0, y0, y3, ty_Int) The TRS R consists of the following rules: new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_primPlusNat0(Zero, Zero) -> Zero new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_quot(vyv222, ty_Int) -> new_quot0(vyv222) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primDivNatS1(Zero, vyv32700) -> Zero new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_ms2(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_even0(vyv211, ty_Integer) -> new_even3(new_quot1(vyv211)) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primEvenNat0(Zero) -> True new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_even3(vyv286) -> error([]) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primMulNat0(Zero, Zero) -> Zero new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMinusNatS2(Zero, Zero) -> Zero new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primEqInt(Neg(Succ(vyv38000))) -> False new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_error(df) -> error([]) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_quot(vyv222, ty_Integer) -> new_quot1(vyv222) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_even1(vyv242, ty_Int) -> new_even2(new_ms3(new_quot0(vyv242), new_fromInt)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_esEs1(vyv416, ty_Integer) -> new_esEs(new_ms4(vyv416, new_fromInt0)) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_abs0(Neg(Zero)) -> Neg(Zero) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_esEs2(vyv222, ty_Integer) -> new_esEs(new_ms4(new_quot1(vyv222), new_fromInt0)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_ms2(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primMinusNatS1 -> Zero new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_even0(vyv211, ty_Int) -> new_even2(new_quot0(vyv211)) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_esEs2(vyv222, ty_Int) -> new_esEs0(new_ms3(new_quot0(vyv222), new_fromInt)) new_esEs1(vyv416, ty_Int) -> new_esEs0(new_ms3(vyv416, new_fromInt)) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_primDivNatS2(Succ(Zero)) -> Zero new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_primDivNatS2(Zero) -> Zero new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_primEqInt(Pos(Zero)) -> True new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_abs0(Pos(Zero)) -> Pos(Zero) new_fromInt -> Pos(Succ(Zero)) new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_primEqInt(Neg(Zero)) -> True new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_ms4(vyv248, vyv247) -> error([]) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primModNatS1(Zero, vyv34400) -> Zero new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_even1(vyv242, ty_Integer) -> new_even3(new_ms4(new_quot1(vyv242), new_fromInt0)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_even1(x0, ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even0(x0, ty_Integer) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_ms2(x0, ty_Int) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_esEs1(x0, ty_Int) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs2(x0, ty_Int) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_even1(x0, ty_Int) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_even0(x0, ty_Int) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_esEs2(x0, ty_Integer) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_ms2(x0, ty_Integer) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs1(x0, ty_Integer) new_quot(x0, ty_Int) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_quot(x0, ty_Integer) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (63) 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. ---------------------------------------- (64) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(vyv209, vyv210, vyv211, bf, bg) -> new_pr2F0G10(vyv209, vyv210, vyv211, new_even0(vyv211, bg), bf, bg) new_pr2F0G0(vyv414, vyv415, vyv416, bd, be) -> new_pr2F3(new_esEs1(vyv416, be), vyv414, vyv416, vyv415, bd, be) new_pr2F0G10(vyv220, vyv221, vyv222, True, bh, ca) -> new_pr2F0G(vyv220, new_sr1(vyv221, bh), new_quot(vyv222, ca), bh, ca) new_pr2F0G11(vyv264, vyv265, vyv266, True, cd, ce) -> new_pr2F0G(new_sr4(vyv264, vyv265, cd), new_sr3(vyv264, cd), new_ms2(vyv266, ce), cd, ce) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F30(False, vyv241, vyv242, vyv243, cb, cc) -> new_pr2F0G11(vyv241, vyv243, vyv242, new_even1(vyv242, cc), cb, cc) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G10(y0, y1, x0, False, y3, ty_Integer) -> new_pr2F30(new_esEs(new_ms4(new_quot1(x0), new_fromInt0)), y1, x0, y0, y3, ty_Integer) new_pr2F0G10(y0, y1, x0, False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_ms3(new_quot0(x0), new_fromInt)), y1, x0, y0, y3, ty_Int) The TRS R consists of the following rules: new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_even1(vyv242, ty_Int) -> new_even2(new_ms3(new_quot0(vyv242), new_fromInt)) new_even1(vyv242, ty_Integer) -> new_even3(new_ms4(new_quot1(vyv242), new_fromInt0)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_ms2(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_ms2(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_quot(vyv222, ty_Int) -> new_quot0(vyv222) new_quot(vyv222, ty_Integer) -> new_quot1(vyv222) new_esEs1(vyv416, ty_Integer) -> new_esEs(new_ms4(vyv416, new_fromInt0)) new_esEs1(vyv416, ty_Int) -> new_esEs0(new_ms3(vyv416, new_fromInt)) new_even0(vyv211, ty_Integer) -> new_even3(new_quot1(vyv211)) new_even0(vyv211, ty_Int) -> new_even2(new_quot0(vyv211)) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_even1(x0, ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even0(x0, ty_Integer) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_ms2(x0, ty_Int) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_esEs1(x0, ty_Int) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs2(x0, ty_Int) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_even1(x0, ty_Int) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_even0(x0, ty_Int) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_esEs2(x0, ty_Integer) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_ms2(x0, ty_Integer) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs1(x0, ty_Integer) new_quot(x0, ty_Int) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_quot(x0, ty_Integer) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (65) 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_esEs2(x0, ty_Int) new_esEs2(x0, ty_Integer) ---------------------------------------- (66) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(vyv209, vyv210, vyv211, bf, bg) -> new_pr2F0G10(vyv209, vyv210, vyv211, new_even0(vyv211, bg), bf, bg) new_pr2F0G0(vyv414, vyv415, vyv416, bd, be) -> new_pr2F3(new_esEs1(vyv416, be), vyv414, vyv416, vyv415, bd, be) new_pr2F0G10(vyv220, vyv221, vyv222, True, bh, ca) -> new_pr2F0G(vyv220, new_sr1(vyv221, bh), new_quot(vyv222, ca), bh, ca) new_pr2F0G11(vyv264, vyv265, vyv266, True, cd, ce) -> new_pr2F0G(new_sr4(vyv264, vyv265, cd), new_sr3(vyv264, cd), new_ms2(vyv266, ce), cd, ce) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F30(False, vyv241, vyv242, vyv243, cb, cc) -> new_pr2F0G11(vyv241, vyv243, vyv242, new_even1(vyv242, cc), cb, cc) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G10(y0, y1, x0, False, y3, ty_Integer) -> new_pr2F30(new_esEs(new_ms4(new_quot1(x0), new_fromInt0)), y1, x0, y0, y3, ty_Integer) new_pr2F0G10(y0, y1, x0, False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_ms3(new_quot0(x0), new_fromInt)), y1, x0, y0, y3, ty_Int) The TRS R consists of the following rules: new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_even1(vyv242, ty_Int) -> new_even2(new_ms3(new_quot0(vyv242), new_fromInt)) new_even1(vyv242, ty_Integer) -> new_even3(new_ms4(new_quot1(vyv242), new_fromInt0)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_ms2(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_ms2(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_quot(vyv222, ty_Int) -> new_quot0(vyv222) new_quot(vyv222, ty_Integer) -> new_quot1(vyv222) new_esEs1(vyv416, ty_Integer) -> new_esEs(new_ms4(vyv416, new_fromInt0)) new_esEs1(vyv416, ty_Int) -> new_esEs0(new_ms3(vyv416, new_fromInt)) new_even0(vyv211, ty_Integer) -> new_even3(new_quot1(vyv211)) new_even0(vyv211, ty_Int) -> new_even2(new_quot0(vyv211)) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_even1(x0, ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even0(x0, ty_Integer) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_ms2(x0, ty_Int) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_esEs1(x0, ty_Int) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_even1(x0, ty_Int) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_even0(x0, ty_Int) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_ms2(x0, ty_Integer) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs1(x0, ty_Integer) new_quot(x0, ty_Int) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_quot(x0, ty_Integer) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (67) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, x0, False, y3, ty_Integer) -> new_pr2F30(new_esEs(new_ms4(new_quot1(x0), new_fromInt0)), y1, x0, y0, y3, ty_Integer) at position [0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, x0, False, y3, ty_Integer) -> new_pr2F30(new_esEs(error([])), y1, x0, y0, y3, ty_Integer),new_pr2F0G10(y0, y1, x0, False, y3, ty_Integer) -> new_pr2F30(new_esEs(error([])), y1, x0, y0, y3, ty_Integer)) ---------------------------------------- (68) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(vyv209, vyv210, vyv211, bf, bg) -> new_pr2F0G10(vyv209, vyv210, vyv211, new_even0(vyv211, bg), bf, bg) new_pr2F0G0(vyv414, vyv415, vyv416, bd, be) -> new_pr2F3(new_esEs1(vyv416, be), vyv414, vyv416, vyv415, bd, be) new_pr2F0G10(vyv220, vyv221, vyv222, True, bh, ca) -> new_pr2F0G(vyv220, new_sr1(vyv221, bh), new_quot(vyv222, ca), bh, ca) new_pr2F0G11(vyv264, vyv265, vyv266, True, cd, ce) -> new_pr2F0G(new_sr4(vyv264, vyv265, cd), new_sr3(vyv264, cd), new_ms2(vyv266, ce), cd, ce) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F30(False, vyv241, vyv242, vyv243, cb, cc) -> new_pr2F0G11(vyv241, vyv243, vyv242, new_even1(vyv242, cc), cb, cc) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G10(y0, y1, x0, False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_ms3(new_quot0(x0), new_fromInt)), y1, x0, y0, y3, ty_Int) new_pr2F0G10(y0, y1, x0, False, y3, ty_Integer) -> new_pr2F30(new_esEs(error([])), y1, x0, y0, y3, ty_Integer) The TRS R consists of the following rules: new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_even1(vyv242, ty_Int) -> new_even2(new_ms3(new_quot0(vyv242), new_fromInt)) new_even1(vyv242, ty_Integer) -> new_even3(new_ms4(new_quot1(vyv242), new_fromInt0)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_ms2(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_ms2(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_quot(vyv222, ty_Int) -> new_quot0(vyv222) new_quot(vyv222, ty_Integer) -> new_quot1(vyv222) new_esEs1(vyv416, ty_Integer) -> new_esEs(new_ms4(vyv416, new_fromInt0)) new_esEs1(vyv416, ty_Int) -> new_esEs0(new_ms3(vyv416, new_fromInt)) new_even0(vyv211, ty_Integer) -> new_even3(new_quot1(vyv211)) new_even0(vyv211, ty_Int) -> new_even2(new_quot0(vyv211)) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_even1(x0, ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even0(x0, ty_Integer) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_ms2(x0, ty_Int) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_esEs1(x0, ty_Int) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_even1(x0, ty_Int) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_even0(x0, ty_Int) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_ms2(x0, ty_Integer) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs1(x0, ty_Integer) new_quot(x0, ty_Int) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_quot(x0, ty_Integer) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (69) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (70) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(vyv220, vyv221, vyv222, True, bh, ca) -> new_pr2F0G(vyv220, new_sr1(vyv221, bh), new_quot(vyv222, ca), bh, ca) new_pr2F0G(vyv209, vyv210, vyv211, bf, bg) -> new_pr2F0G10(vyv209, vyv210, vyv211, new_even0(vyv211, bg), bf, bg) new_pr2F0G10(y0, y1, x0, False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_ms3(new_quot0(x0), new_fromInt)), y1, x0, y0, y3, ty_Int) new_pr2F30(False, vyv241, vyv242, vyv243, cb, cc) -> new_pr2F0G11(vyv241, vyv243, vyv242, new_even1(vyv242, cc), cb, cc) new_pr2F0G11(vyv264, vyv265, vyv266, True, cd, ce) -> new_pr2F0G(new_sr4(vyv264, vyv265, cd), new_sr3(vyv264, cd), new_ms2(vyv266, ce), cd, ce) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(vyv414, vyv415, vyv416, bd, be) -> new_pr2F3(new_esEs1(vyv416, be), vyv414, vyv416, vyv415, bd, be) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) The TRS R consists of the following rules: new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_even1(vyv242, ty_Int) -> new_even2(new_ms3(new_quot0(vyv242), new_fromInt)) new_even1(vyv242, ty_Integer) -> new_even3(new_ms4(new_quot1(vyv242), new_fromInt0)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_ms2(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_ms2(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_quot(vyv222, ty_Int) -> new_quot0(vyv222) new_quot(vyv222, ty_Integer) -> new_quot1(vyv222) new_esEs1(vyv416, ty_Integer) -> new_esEs(new_ms4(vyv416, new_fromInt0)) new_esEs1(vyv416, ty_Int) -> new_esEs0(new_ms3(vyv416, new_fromInt)) new_even0(vyv211, ty_Integer) -> new_even3(new_quot1(vyv211)) new_even0(vyv211, ty_Int) -> new_even2(new_quot0(vyv211)) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_even1(x0, ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even0(x0, ty_Integer) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_ms2(x0, ty_Int) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_esEs1(x0, ty_Int) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_even1(x0, ty_Int) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_even0(x0, ty_Int) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_ms2(x0, ty_Integer) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs1(x0, ty_Integer) new_quot(x0, ty_Int) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_quot(x0, ty_Integer) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (71) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, x0, False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_ms3(new_quot0(x0), new_fromInt)), y1, x0, y0, y3, ty_Int) at position [0,0,1] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, x0, False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y1, x0, y0, y3, ty_Int),new_pr2F0G10(y0, y1, x0, False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y1, x0, y0, y3, ty_Int)) ---------------------------------------- (72) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(vyv220, vyv221, vyv222, True, bh, ca) -> new_pr2F0G(vyv220, new_sr1(vyv221, bh), new_quot(vyv222, ca), bh, ca) new_pr2F0G(vyv209, vyv210, vyv211, bf, bg) -> new_pr2F0G10(vyv209, vyv210, vyv211, new_even0(vyv211, bg), bf, bg) new_pr2F30(False, vyv241, vyv242, vyv243, cb, cc) -> new_pr2F0G11(vyv241, vyv243, vyv242, new_even1(vyv242, cc), cb, cc) new_pr2F0G11(vyv264, vyv265, vyv266, True, cd, ce) -> new_pr2F0G(new_sr4(vyv264, vyv265, cd), new_sr3(vyv264, cd), new_ms2(vyv266, ce), cd, ce) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(vyv414, vyv415, vyv416, bd, be) -> new_pr2F3(new_esEs1(vyv416, be), vyv414, vyv416, vyv415, bd, be) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G10(y0, y1, x0, False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y1, x0, y0, y3, ty_Int) The TRS R consists of the following rules: new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_even1(vyv242, ty_Int) -> new_even2(new_ms3(new_quot0(vyv242), new_fromInt)) new_even1(vyv242, ty_Integer) -> new_even3(new_ms4(new_quot1(vyv242), new_fromInt0)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_ms2(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_ms2(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_quot(vyv222, ty_Int) -> new_quot0(vyv222) new_quot(vyv222, ty_Integer) -> new_quot1(vyv222) new_esEs1(vyv416, ty_Integer) -> new_esEs(new_ms4(vyv416, new_fromInt0)) new_esEs1(vyv416, ty_Int) -> new_esEs0(new_ms3(vyv416, new_fromInt)) new_even0(vyv211, ty_Integer) -> new_even3(new_quot1(vyv211)) new_even0(vyv211, ty_Int) -> new_even2(new_quot0(vyv211)) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_even1(x0, ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even0(x0, ty_Integer) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_ms2(x0, ty_Int) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_esEs1(x0, ty_Int) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_even1(x0, ty_Int) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_even0(x0, ty_Int) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_ms2(x0, ty_Integer) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs1(x0, ty_Integer) new_quot(x0, ty_Int) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_quot(x0, ty_Integer) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (73) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G(vyv209, vyv210, vyv211, bf, bg) -> new_pr2F0G10(vyv209, vyv210, vyv211, new_even0(vyv211, bg), bf, bg) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F0G(y0, y1, x0, y3, ty_Integer) -> new_pr2F0G10(y0, y1, x0, new_even3(new_quot1(x0)), y3, ty_Integer),new_pr2F0G(y0, y1, x0, y3, ty_Integer) -> new_pr2F0G10(y0, y1, x0, new_even3(new_quot1(x0)), y3, ty_Integer)) (new_pr2F0G(y0, y1, x0, y3, ty_Int) -> new_pr2F0G10(y0, y1, x0, new_even2(new_quot0(x0)), y3, ty_Int),new_pr2F0G(y0, y1, x0, y3, ty_Int) -> new_pr2F0G10(y0, y1, x0, new_even2(new_quot0(x0)), y3, ty_Int)) ---------------------------------------- (74) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(vyv220, vyv221, vyv222, True, bh, ca) -> new_pr2F0G(vyv220, new_sr1(vyv221, bh), new_quot(vyv222, ca), bh, ca) new_pr2F30(False, vyv241, vyv242, vyv243, cb, cc) -> new_pr2F0G11(vyv241, vyv243, vyv242, new_even1(vyv242, cc), cb, cc) new_pr2F0G11(vyv264, vyv265, vyv266, True, cd, ce) -> new_pr2F0G(new_sr4(vyv264, vyv265, cd), new_sr3(vyv264, cd), new_ms2(vyv266, ce), cd, ce) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(vyv414, vyv415, vyv416, bd, be) -> new_pr2F3(new_esEs1(vyv416, be), vyv414, vyv416, vyv415, bd, be) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G10(y0, y1, x0, False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y1, x0, y0, y3, ty_Int) new_pr2F0G(y0, y1, x0, y3, ty_Integer) -> new_pr2F0G10(y0, y1, x0, new_even3(new_quot1(x0)), y3, ty_Integer) new_pr2F0G(y0, y1, x0, y3, ty_Int) -> new_pr2F0G10(y0, y1, x0, new_even2(new_quot0(x0)), y3, ty_Int) The TRS R consists of the following rules: new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_even1(vyv242, ty_Int) -> new_even2(new_ms3(new_quot0(vyv242), new_fromInt)) new_even1(vyv242, ty_Integer) -> new_even3(new_ms4(new_quot1(vyv242), new_fromInt0)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_ms2(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_ms2(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_quot(vyv222, ty_Int) -> new_quot0(vyv222) new_quot(vyv222, ty_Integer) -> new_quot1(vyv222) new_esEs1(vyv416, ty_Integer) -> new_esEs(new_ms4(vyv416, new_fromInt0)) new_esEs1(vyv416, ty_Int) -> new_esEs0(new_ms3(vyv416, new_fromInt)) new_even0(vyv211, ty_Integer) -> new_even3(new_quot1(vyv211)) new_even0(vyv211, ty_Int) -> new_even2(new_quot0(vyv211)) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_even1(x0, ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even0(x0, ty_Integer) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_ms2(x0, ty_Int) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_esEs1(x0, ty_Int) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_even1(x0, ty_Int) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_even0(x0, ty_Int) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_ms2(x0, ty_Integer) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs1(x0, ty_Integer) new_quot(x0, ty_Int) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_quot(x0, ty_Integer) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (75) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (76) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, x0, y3, ty_Int) -> new_pr2F0G10(y0, y1, x0, new_even2(new_quot0(x0)), y3, ty_Int) new_pr2F0G10(vyv220, vyv221, vyv222, True, bh, ca) -> new_pr2F0G(vyv220, new_sr1(vyv221, bh), new_quot(vyv222, ca), bh, ca) new_pr2F0G10(y0, y1, x0, False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y1, x0, y0, y3, ty_Int) new_pr2F30(False, vyv241, vyv242, vyv243, cb, cc) -> new_pr2F0G11(vyv241, vyv243, vyv242, new_even1(vyv242, cc), cb, cc) new_pr2F0G11(vyv264, vyv265, vyv266, True, cd, ce) -> new_pr2F0G(new_sr4(vyv264, vyv265, cd), new_sr3(vyv264, cd), new_ms2(vyv266, ce), cd, ce) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(vyv414, vyv415, vyv416, bd, be) -> new_pr2F3(new_esEs1(vyv416, be), vyv414, vyv416, vyv415, bd, be) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) The TRS R consists of the following rules: new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_even1(vyv242, ty_Int) -> new_even2(new_ms3(new_quot0(vyv242), new_fromInt)) new_even1(vyv242, ty_Integer) -> new_even3(new_ms4(new_quot1(vyv242), new_fromInt0)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_ms2(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_ms2(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_quot(vyv222, ty_Int) -> new_quot0(vyv222) new_quot(vyv222, ty_Integer) -> new_quot1(vyv222) new_esEs1(vyv416, ty_Integer) -> new_esEs(new_ms4(vyv416, new_fromInt0)) new_esEs1(vyv416, ty_Int) -> new_esEs0(new_ms3(vyv416, new_fromInt)) new_even0(vyv211, ty_Integer) -> new_even3(new_quot1(vyv211)) new_even0(vyv211, ty_Int) -> new_even2(new_quot0(vyv211)) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_even1(x0, ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even0(x0, ty_Integer) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_ms2(x0, ty_Int) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_esEs1(x0, ty_Int) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_even1(x0, ty_Int) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_even0(x0, ty_Int) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_ms2(x0, ty_Integer) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs1(x0, ty_Integer) new_quot(x0, ty_Int) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_quot(x0, ty_Integer) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (77) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (78) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, x0, y3, ty_Int) -> new_pr2F0G10(y0, y1, x0, new_even2(new_quot0(x0)), y3, ty_Int) new_pr2F0G10(vyv220, vyv221, vyv222, True, bh, ca) -> new_pr2F0G(vyv220, new_sr1(vyv221, bh), new_quot(vyv222, ca), bh, ca) new_pr2F0G10(y0, y1, x0, False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y1, x0, y0, y3, ty_Int) new_pr2F30(False, vyv241, vyv242, vyv243, cb, cc) -> new_pr2F0G11(vyv241, vyv243, vyv242, new_even1(vyv242, cc), cb, cc) new_pr2F0G11(vyv264, vyv265, vyv266, True, cd, ce) -> new_pr2F0G(new_sr4(vyv264, vyv265, cd), new_sr3(vyv264, cd), new_ms2(vyv266, ce), cd, ce) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(vyv414, vyv415, vyv416, bd, be) -> new_pr2F3(new_esEs1(vyv416, be), vyv414, vyv416, vyv415, bd, be) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_esEs1(vyv416, ty_Integer) -> new_esEs(new_ms4(vyv416, new_fromInt0)) new_esEs1(vyv416, ty_Int) -> new_esEs0(new_ms3(vyv416, new_fromInt)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_ms2(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_ms2(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_even1(vyv242, ty_Int) -> new_even2(new_ms3(new_quot0(vyv242), new_fromInt)) new_even1(vyv242, ty_Integer) -> new_even3(new_ms4(new_quot1(vyv242), new_fromInt0)) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_quot(vyv222, ty_Int) -> new_quot0(vyv222) new_quot(vyv222, ty_Integer) -> new_quot1(vyv222) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_even1(x0, ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even0(x0, ty_Integer) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_ms2(x0, ty_Int) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_esEs1(x0, ty_Int) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_even1(x0, ty_Int) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_even0(x0, ty_Int) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_ms2(x0, ty_Integer) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs1(x0, ty_Integer) new_quot(x0, ty_Int) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_quot(x0, ty_Integer) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (79) 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_even0(x0, ty_Integer) new_even0(x0, ty_Int) ---------------------------------------- (80) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, x0, y3, ty_Int) -> new_pr2F0G10(y0, y1, x0, new_even2(new_quot0(x0)), y3, ty_Int) new_pr2F0G10(vyv220, vyv221, vyv222, True, bh, ca) -> new_pr2F0G(vyv220, new_sr1(vyv221, bh), new_quot(vyv222, ca), bh, ca) new_pr2F0G10(y0, y1, x0, False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y1, x0, y0, y3, ty_Int) new_pr2F30(False, vyv241, vyv242, vyv243, cb, cc) -> new_pr2F0G11(vyv241, vyv243, vyv242, new_even1(vyv242, cc), cb, cc) new_pr2F0G11(vyv264, vyv265, vyv266, True, cd, ce) -> new_pr2F0G(new_sr4(vyv264, vyv265, cd), new_sr3(vyv264, cd), new_ms2(vyv266, ce), cd, ce) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(vyv414, vyv415, vyv416, bd, be) -> new_pr2F3(new_esEs1(vyv416, be), vyv414, vyv416, vyv415, bd, be) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_esEs1(vyv416, ty_Integer) -> new_esEs(new_ms4(vyv416, new_fromInt0)) new_esEs1(vyv416, ty_Int) -> new_esEs0(new_ms3(vyv416, new_fromInt)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_ms2(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_ms2(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_even1(vyv242, ty_Int) -> new_even2(new_ms3(new_quot0(vyv242), new_fromInt)) new_even1(vyv242, ty_Integer) -> new_even3(new_ms4(new_quot1(vyv242), new_fromInt0)) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_quot(vyv222, ty_Int) -> new_quot0(vyv222) new_quot(vyv222, ty_Integer) -> new_quot1(vyv222) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_even1(x0, ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_ms2(x0, ty_Int) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_esEs1(x0, ty_Int) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_even1(x0, ty_Int) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_ms2(x0, ty_Integer) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs1(x0, ty_Integer) new_quot(x0, ty_Int) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_quot(x0, ty_Integer) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (81) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G(y0, y1, x0, y3, ty_Int) -> new_pr2F0G10(y0, y1, x0, new_even2(new_quot0(x0)), y3, ty_Int) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F0G(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(x0), new_even2(Neg(new_primDivNatS2(x0))), y3, ty_Int),new_pr2F0G(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(x0), new_even2(Neg(new_primDivNatS2(x0))), y3, ty_Int)) (new_pr2F0G(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(x0), new_even2(new_primQuotInt(x0, Pos(Succ(Succ(Zero))))), y3, ty_Int),new_pr2F0G(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(x0), new_even2(new_primQuotInt(x0, Pos(Succ(Succ(Zero))))), y3, ty_Int)) ---------------------------------------- (82) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(vyv220, vyv221, vyv222, True, bh, ca) -> new_pr2F0G(vyv220, new_sr1(vyv221, bh), new_quot(vyv222, ca), bh, ca) new_pr2F0G10(y0, y1, x0, False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y1, x0, y0, y3, ty_Int) new_pr2F30(False, vyv241, vyv242, vyv243, cb, cc) -> new_pr2F0G11(vyv241, vyv243, vyv242, new_even1(vyv242, cc), cb, cc) new_pr2F0G11(vyv264, vyv265, vyv266, True, cd, ce) -> new_pr2F0G(new_sr4(vyv264, vyv265, cd), new_sr3(vyv264, cd), new_ms2(vyv266, ce), cd, ce) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(vyv414, vyv415, vyv416, bd, be) -> new_pr2F3(new_esEs1(vyv416, be), vyv414, vyv416, vyv415, bd, be) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(x0), new_even2(Neg(new_primDivNatS2(x0))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(x0), new_even2(new_primQuotInt(x0, Pos(Succ(Succ(Zero))))), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_esEs1(vyv416, ty_Integer) -> new_esEs(new_ms4(vyv416, new_fromInt0)) new_esEs1(vyv416, ty_Int) -> new_esEs0(new_ms3(vyv416, new_fromInt)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_ms2(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_ms2(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_even1(vyv242, ty_Int) -> new_even2(new_ms3(new_quot0(vyv242), new_fromInt)) new_even1(vyv242, ty_Integer) -> new_even3(new_ms4(new_quot1(vyv242), new_fromInt0)) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_quot(vyv222, ty_Int) -> new_quot0(vyv222) new_quot(vyv222, ty_Integer) -> new_quot1(vyv222) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_even1(x0, ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_ms2(x0, ty_Int) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_esEs1(x0, ty_Int) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_even1(x0, ty_Int) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_ms2(x0, ty_Integer) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs1(x0, ty_Integer) new_quot(x0, ty_Int) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_quot(x0, ty_Integer) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (83) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(x0), new_even2(Neg(new_primDivNatS2(x0))), y3, ty_Int) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F0G(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(x0), new_primEvenNat0(new_primDivNatS2(x0)), y3, ty_Int),new_pr2F0G(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(x0), new_primEvenNat0(new_primDivNatS2(x0)), y3, ty_Int)) ---------------------------------------- (84) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(vyv220, vyv221, vyv222, True, bh, ca) -> new_pr2F0G(vyv220, new_sr1(vyv221, bh), new_quot(vyv222, ca), bh, ca) new_pr2F0G10(y0, y1, x0, False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y1, x0, y0, y3, ty_Int) new_pr2F30(False, vyv241, vyv242, vyv243, cb, cc) -> new_pr2F0G11(vyv241, vyv243, vyv242, new_even1(vyv242, cc), cb, cc) new_pr2F0G11(vyv264, vyv265, vyv266, True, cd, ce) -> new_pr2F0G(new_sr4(vyv264, vyv265, cd), new_sr3(vyv264, cd), new_ms2(vyv266, ce), cd, ce) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(vyv414, vyv415, vyv416, bd, be) -> new_pr2F3(new_esEs1(vyv416, be), vyv414, vyv416, vyv415, bd, be) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(x0), new_even2(new_primQuotInt(x0, Pos(Succ(Succ(Zero))))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(x0), new_primEvenNat0(new_primDivNatS2(x0)), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_esEs1(vyv416, ty_Integer) -> new_esEs(new_ms4(vyv416, new_fromInt0)) new_esEs1(vyv416, ty_Int) -> new_esEs0(new_ms3(vyv416, new_fromInt)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_ms2(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_ms2(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_even1(vyv242, ty_Int) -> new_even2(new_ms3(new_quot0(vyv242), new_fromInt)) new_even1(vyv242, ty_Integer) -> new_even3(new_ms4(new_quot1(vyv242), new_fromInt0)) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_quot(vyv222, ty_Int) -> new_quot0(vyv222) new_quot(vyv222, ty_Integer) -> new_quot1(vyv222) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_even1(x0, ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_ms2(x0, ty_Int) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_esEs1(x0, ty_Int) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_even1(x0, ty_Int) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_ms2(x0, ty_Integer) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs1(x0, ty_Integer) new_quot(x0, ty_Int) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_quot(x0, ty_Integer) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (85) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(x0), new_even2(new_primQuotInt(x0, Pos(Succ(Succ(Zero))))), y3, ty_Int) at position [3,0] we obtained the following new rules [LPAR04]: (new_pr2F0G(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(x0), new_even2(Pos(new_primDivNatS1(x0, Succ(Zero)))), y3, ty_Int),new_pr2F0G(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(x0), new_even2(Pos(new_primDivNatS1(x0, Succ(Zero)))), y3, ty_Int)) ---------------------------------------- (86) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(vyv220, vyv221, vyv222, True, bh, ca) -> new_pr2F0G(vyv220, new_sr1(vyv221, bh), new_quot(vyv222, ca), bh, ca) new_pr2F0G10(y0, y1, x0, False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y1, x0, y0, y3, ty_Int) new_pr2F30(False, vyv241, vyv242, vyv243, cb, cc) -> new_pr2F0G11(vyv241, vyv243, vyv242, new_even1(vyv242, cc), cb, cc) new_pr2F0G11(vyv264, vyv265, vyv266, True, cd, ce) -> new_pr2F0G(new_sr4(vyv264, vyv265, cd), new_sr3(vyv264, cd), new_ms2(vyv266, ce), cd, ce) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(vyv414, vyv415, vyv416, bd, be) -> new_pr2F3(new_esEs1(vyv416, be), vyv414, vyv416, vyv415, bd, be) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(x0), new_primEvenNat0(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(x0), new_even2(Pos(new_primDivNatS1(x0, Succ(Zero)))), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_esEs1(vyv416, ty_Integer) -> new_esEs(new_ms4(vyv416, new_fromInt0)) new_esEs1(vyv416, ty_Int) -> new_esEs0(new_ms3(vyv416, new_fromInt)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_ms2(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_ms2(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_even1(vyv242, ty_Int) -> new_even2(new_ms3(new_quot0(vyv242), new_fromInt)) new_even1(vyv242, ty_Integer) -> new_even3(new_ms4(new_quot1(vyv242), new_fromInt0)) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_quot(vyv222, ty_Int) -> new_quot0(vyv222) new_quot(vyv222, ty_Integer) -> new_quot1(vyv222) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_even1(x0, ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_ms2(x0, ty_Int) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_esEs1(x0, ty_Int) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_even1(x0, ty_Int) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_ms2(x0, ty_Integer) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs1(x0, ty_Integer) new_quot(x0, ty_Int) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_quot(x0, ty_Integer) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (87) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(x0), new_even2(Pos(new_primDivNatS1(x0, Succ(Zero)))), y3, ty_Int) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F0G(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(x0), new_primEvenNat0(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int),new_pr2F0G(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(x0), new_primEvenNat0(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int)) ---------------------------------------- (88) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(vyv220, vyv221, vyv222, True, bh, ca) -> new_pr2F0G(vyv220, new_sr1(vyv221, bh), new_quot(vyv222, ca), bh, ca) new_pr2F0G10(y0, y1, x0, False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y1, x0, y0, y3, ty_Int) new_pr2F30(False, vyv241, vyv242, vyv243, cb, cc) -> new_pr2F0G11(vyv241, vyv243, vyv242, new_even1(vyv242, cc), cb, cc) new_pr2F0G11(vyv264, vyv265, vyv266, True, cd, ce) -> new_pr2F0G(new_sr4(vyv264, vyv265, cd), new_sr3(vyv264, cd), new_ms2(vyv266, ce), cd, ce) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(vyv414, vyv415, vyv416, bd, be) -> new_pr2F3(new_esEs1(vyv416, be), vyv414, vyv416, vyv415, bd, be) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(x0), new_primEvenNat0(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(x0), new_primEvenNat0(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_esEs1(vyv416, ty_Integer) -> new_esEs(new_ms4(vyv416, new_fromInt0)) new_esEs1(vyv416, ty_Int) -> new_esEs0(new_ms3(vyv416, new_fromInt)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_ms2(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_ms2(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_even1(vyv242, ty_Int) -> new_even2(new_ms3(new_quot0(vyv242), new_fromInt)) new_even1(vyv242, ty_Integer) -> new_even3(new_ms4(new_quot1(vyv242), new_fromInt0)) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_quot(vyv222, ty_Int) -> new_quot0(vyv222) new_quot(vyv222, ty_Integer) -> new_quot1(vyv222) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_even1(x0, ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_ms2(x0, ty_Int) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_esEs1(x0, ty_Int) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_even1(x0, ty_Int) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_ms2(x0, ty_Integer) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs1(x0, ty_Integer) new_quot(x0, ty_Int) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_quot(x0, ty_Integer) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (89) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G10(vyv220, vyv221, vyv222, True, bh, ca) -> new_pr2F0G(vyv220, new_sr1(vyv221, bh), new_quot(vyv222, ca), bh, ca) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), new_quot0(x0), y3, ty_Int),new_pr2F0G10(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), new_quot0(x0), y3, ty_Int)) (new_pr2F0G10(y0, y1, x0, True, y3, ty_Integer) -> new_pr2F0G(y0, new_sr1(y1, y3), new_quot1(x0), y3, ty_Integer),new_pr2F0G10(y0, y1, x0, True, y3, ty_Integer) -> new_pr2F0G(y0, new_sr1(y1, y3), new_quot1(x0), y3, ty_Integer)) ---------------------------------------- (90) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, x0, False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y1, x0, y0, y3, ty_Int) new_pr2F30(False, vyv241, vyv242, vyv243, cb, cc) -> new_pr2F0G11(vyv241, vyv243, vyv242, new_even1(vyv242, cc), cb, cc) new_pr2F0G11(vyv264, vyv265, vyv266, True, cd, ce) -> new_pr2F0G(new_sr4(vyv264, vyv265, cd), new_sr3(vyv264, cd), new_ms2(vyv266, ce), cd, ce) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(vyv414, vyv415, vyv416, bd, be) -> new_pr2F3(new_esEs1(vyv416, be), vyv414, vyv416, vyv415, bd, be) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(x0), new_primEvenNat0(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(x0), new_primEvenNat0(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), new_quot0(x0), y3, ty_Int) new_pr2F0G10(y0, y1, x0, True, y3, ty_Integer) -> new_pr2F0G(y0, new_sr1(y1, y3), new_quot1(x0), y3, ty_Integer) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_esEs1(vyv416, ty_Integer) -> new_esEs(new_ms4(vyv416, new_fromInt0)) new_esEs1(vyv416, ty_Int) -> new_esEs0(new_ms3(vyv416, new_fromInt)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_ms2(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_ms2(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_even1(vyv242, ty_Int) -> new_even2(new_ms3(new_quot0(vyv242), new_fromInt)) new_even1(vyv242, ty_Integer) -> new_even3(new_ms4(new_quot1(vyv242), new_fromInt0)) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_quot(vyv222, ty_Int) -> new_quot0(vyv222) new_quot(vyv222, ty_Integer) -> new_quot1(vyv222) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_even1(x0, ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_ms2(x0, ty_Int) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_esEs1(x0, ty_Int) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_even1(x0, ty_Int) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_ms2(x0, ty_Integer) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs1(x0, ty_Integer) new_quot(x0, ty_Int) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_quot(x0, ty_Integer) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (91) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (92) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F30(False, vyv241, vyv242, vyv243, cb, cc) -> new_pr2F0G11(vyv241, vyv243, vyv242, new_even1(vyv242, cc), cb, cc) new_pr2F0G11(vyv264, vyv265, vyv266, True, cd, ce) -> new_pr2F0G(new_sr4(vyv264, vyv265, cd), new_sr3(vyv264, cd), new_ms2(vyv266, ce), cd, ce) new_pr2F0G(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(x0), new_primEvenNat0(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G10(y0, y1, x0, False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y1, x0, y0, y3, ty_Int) new_pr2F0G10(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), new_quot0(x0), y3, ty_Int) new_pr2F0G(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(x0), new_primEvenNat0(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(vyv414, vyv415, vyv416, bd, be) -> new_pr2F3(new_esEs1(vyv416, be), vyv414, vyv416, vyv415, bd, be) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_esEs1(vyv416, ty_Integer) -> new_esEs(new_ms4(vyv416, new_fromInt0)) new_esEs1(vyv416, ty_Int) -> new_esEs0(new_ms3(vyv416, new_fromInt)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_ms2(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_ms2(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_even1(vyv242, ty_Int) -> new_even2(new_ms3(new_quot0(vyv242), new_fromInt)) new_even1(vyv242, ty_Integer) -> new_even3(new_ms4(new_quot1(vyv242), new_fromInt0)) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_quot(vyv222, ty_Int) -> new_quot0(vyv222) new_quot(vyv222, ty_Integer) -> new_quot1(vyv222) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_even1(x0, ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_ms2(x0, ty_Int) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_esEs1(x0, ty_Int) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_even1(x0, ty_Int) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_ms2(x0, ty_Integer) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs1(x0, ty_Integer) new_quot(x0, ty_Int) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_quot(x0, ty_Integer) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (93) 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. ---------------------------------------- (94) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F30(False, vyv241, vyv242, vyv243, cb, cc) -> new_pr2F0G11(vyv241, vyv243, vyv242, new_even1(vyv242, cc), cb, cc) new_pr2F0G11(vyv264, vyv265, vyv266, True, cd, ce) -> new_pr2F0G(new_sr4(vyv264, vyv265, cd), new_sr3(vyv264, cd), new_ms2(vyv266, ce), cd, ce) new_pr2F0G(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(x0), new_primEvenNat0(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G10(y0, y1, x0, False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y1, x0, y0, y3, ty_Int) new_pr2F0G10(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), new_quot0(x0), y3, ty_Int) new_pr2F0G(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(x0), new_primEvenNat0(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(vyv414, vyv415, vyv416, bd, be) -> new_pr2F3(new_esEs1(vyv416, be), vyv414, vyv416, vyv415, bd, be) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_esEs1(vyv416, ty_Integer) -> new_esEs(new_ms4(vyv416, new_fromInt0)) new_esEs1(vyv416, ty_Int) -> new_esEs0(new_ms3(vyv416, new_fromInt)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_ms2(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_ms2(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_even1(vyv242, ty_Int) -> new_even2(new_ms3(new_quot0(vyv242), new_fromInt)) new_even1(vyv242, ty_Integer) -> new_even3(new_ms4(new_quot1(vyv242), new_fromInt0)) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_even1(x0, ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_ms2(x0, ty_Int) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_esEs1(x0, ty_Int) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_even1(x0, ty_Int) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_ms2(x0, ty_Integer) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs1(x0, ty_Integer) new_quot(x0, ty_Int) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_quot(x0, ty_Integer) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (95) 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_quot(x0, ty_Int) new_quot(x0, ty_Integer) ---------------------------------------- (96) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F30(False, vyv241, vyv242, vyv243, cb, cc) -> new_pr2F0G11(vyv241, vyv243, vyv242, new_even1(vyv242, cc), cb, cc) new_pr2F0G11(vyv264, vyv265, vyv266, True, cd, ce) -> new_pr2F0G(new_sr4(vyv264, vyv265, cd), new_sr3(vyv264, cd), new_ms2(vyv266, ce), cd, ce) new_pr2F0G(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(x0), new_primEvenNat0(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G10(y0, y1, x0, False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y1, x0, y0, y3, ty_Int) new_pr2F0G10(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), new_quot0(x0), y3, ty_Int) new_pr2F0G(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(x0), new_primEvenNat0(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(vyv414, vyv415, vyv416, bd, be) -> new_pr2F3(new_esEs1(vyv416, be), vyv414, vyv416, vyv415, bd, be) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_esEs1(vyv416, ty_Integer) -> new_esEs(new_ms4(vyv416, new_fromInt0)) new_esEs1(vyv416, ty_Int) -> new_esEs0(new_ms3(vyv416, new_fromInt)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_ms2(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_ms2(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_even1(vyv242, ty_Int) -> new_even2(new_ms3(new_quot0(vyv242), new_fromInt)) new_even1(vyv242, ty_Integer) -> new_even3(new_ms4(new_quot1(vyv242), new_fromInt0)) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_even1(x0, ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_ms2(x0, ty_Int) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_esEs1(x0, ty_Int) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_even1(x0, ty_Int) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_ms2(x0, ty_Integer) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs1(x0, ty_Integer) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (97) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F30(False, vyv241, vyv242, vyv243, cb, cc) -> new_pr2F0G11(vyv241, vyv243, vyv242, new_even1(vyv242, cc), cb, cc) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), new_fromInt)), y3, ty_Int),new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), new_fromInt)), y3, ty_Int)) (new_pr2F30(False, y0, x0, y2, y3, ty_Integer) -> new_pr2F0G11(y0, y2, x0, new_even3(new_ms4(new_quot1(x0), new_fromInt0)), y3, ty_Integer),new_pr2F30(False, y0, x0, y2, y3, ty_Integer) -> new_pr2F0G11(y0, y2, x0, new_even3(new_ms4(new_quot1(x0), new_fromInt0)), y3, ty_Integer)) ---------------------------------------- (98) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(vyv264, vyv265, vyv266, True, cd, ce) -> new_pr2F0G(new_sr4(vyv264, vyv265, cd), new_sr3(vyv264, cd), new_ms2(vyv266, ce), cd, ce) new_pr2F0G(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(x0), new_primEvenNat0(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G10(y0, y1, x0, False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y1, x0, y0, y3, ty_Int) new_pr2F0G10(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), new_quot0(x0), y3, ty_Int) new_pr2F0G(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(x0), new_primEvenNat0(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(vyv414, vyv415, vyv416, bd, be) -> new_pr2F3(new_esEs1(vyv416, be), vyv414, vyv416, vyv415, bd, be) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), new_fromInt)), y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Integer) -> new_pr2F0G11(y0, y2, x0, new_even3(new_ms4(new_quot1(x0), new_fromInt0)), y3, ty_Integer) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_esEs1(vyv416, ty_Integer) -> new_esEs(new_ms4(vyv416, new_fromInt0)) new_esEs1(vyv416, ty_Int) -> new_esEs0(new_ms3(vyv416, new_fromInt)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_ms2(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_ms2(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_even1(vyv242, ty_Int) -> new_even2(new_ms3(new_quot0(vyv242), new_fromInt)) new_even1(vyv242, ty_Integer) -> new_even3(new_ms4(new_quot1(vyv242), new_fromInt0)) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_even1(x0, ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_ms2(x0, ty_Int) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_esEs1(x0, ty_Int) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_even1(x0, ty_Int) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_ms2(x0, ty_Integer) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs1(x0, ty_Integer) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (99) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (100) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(x0), new_primEvenNat0(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G10(y0, y1, x0, False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y1, x0, y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), new_fromInt)), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, True, cd, ce) -> new_pr2F0G(new_sr4(vyv264, vyv265, cd), new_sr3(vyv264, cd), new_ms2(vyv266, ce), cd, ce) new_pr2F0G(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(x0), new_primEvenNat0(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), new_quot0(x0), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(vyv414, vyv415, vyv416, bd, be) -> new_pr2F3(new_esEs1(vyv416, be), vyv414, vyv416, vyv415, bd, be) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_esEs1(vyv416, ty_Integer) -> new_esEs(new_ms4(vyv416, new_fromInt0)) new_esEs1(vyv416, ty_Int) -> new_esEs0(new_ms3(vyv416, new_fromInt)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_ms2(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_ms2(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_even1(vyv242, ty_Int) -> new_even2(new_ms3(new_quot0(vyv242), new_fromInt)) new_even1(vyv242, ty_Integer) -> new_even3(new_ms4(new_quot1(vyv242), new_fromInt0)) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_even1(x0, ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_ms2(x0, ty_Int) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_esEs1(x0, ty_Int) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_even1(x0, ty_Int) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_ms2(x0, ty_Integer) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs1(x0, ty_Integer) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) 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_pr2F0G(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(x0), new_primEvenNat0(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G10(y0, y1, x0, False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y1, x0, y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), new_fromInt)), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, True, cd, ce) -> new_pr2F0G(new_sr4(vyv264, vyv265, cd), new_sr3(vyv264, cd), new_ms2(vyv266, ce), cd, ce) new_pr2F0G(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(x0), new_primEvenNat0(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), new_quot0(x0), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(vyv414, vyv415, vyv416, bd, be) -> new_pr2F3(new_esEs1(vyv416, be), vyv414, vyv416, vyv415, bd, be) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_esEs1(vyv416, ty_Integer) -> new_esEs(new_ms4(vyv416, new_fromInt0)) new_esEs1(vyv416, ty_Int) -> new_esEs0(new_ms3(vyv416, new_fromInt)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_ms2(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_ms2(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_even1(x0, ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_ms2(x0, ty_Int) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_esEs1(x0, ty_Int) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_even1(x0, ty_Int) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_ms2(x0, ty_Integer) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs1(x0, ty_Integer) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (103) 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_even1(x0, ty_Integer) new_even1(x0, ty_Int) ---------------------------------------- (104) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(x0), new_primEvenNat0(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G10(y0, y1, x0, False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y1, x0, y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), new_fromInt)), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, True, cd, ce) -> new_pr2F0G(new_sr4(vyv264, vyv265, cd), new_sr3(vyv264, cd), new_ms2(vyv266, ce), cd, ce) new_pr2F0G(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(x0), new_primEvenNat0(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), new_quot0(x0), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(vyv414, vyv415, vyv416, bd, be) -> new_pr2F3(new_esEs1(vyv416, be), vyv414, vyv416, vyv415, bd, be) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_esEs1(vyv416, ty_Integer) -> new_esEs(new_ms4(vyv416, new_fromInt0)) new_esEs1(vyv416, ty_Int) -> new_esEs0(new_ms3(vyv416, new_fromInt)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_ms2(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_ms2(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_ms2(x0, ty_Int) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_esEs1(x0, ty_Int) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_ms2(x0, ty_Integer) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs1(x0, ty_Integer) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (105) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), new_fromInt)), y3, ty_Int) at position [3,0,1] we obtained the following new rules [LPAR04]: (new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int),new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int)) ---------------------------------------- (106) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(x0), new_primEvenNat0(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G10(y0, y1, x0, False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y1, x0, y0, y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, True, cd, ce) -> new_pr2F0G(new_sr4(vyv264, vyv265, cd), new_sr3(vyv264, cd), new_ms2(vyv266, ce), cd, ce) new_pr2F0G(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(x0), new_primEvenNat0(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), new_quot0(x0), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(vyv414, vyv415, vyv416, bd, be) -> new_pr2F3(new_esEs1(vyv416, be), vyv414, vyv416, vyv415, bd, be) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_esEs1(vyv416, ty_Integer) -> new_esEs(new_ms4(vyv416, new_fromInt0)) new_esEs1(vyv416, ty_Int) -> new_esEs0(new_ms3(vyv416, new_fromInt)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_ms2(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_ms2(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_ms2(x0, ty_Int) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_esEs1(x0, ty_Int) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_ms2(x0, ty_Integer) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs1(x0, ty_Integer) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (107) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(x0), new_primEvenNat0(new_primDivNatS2(x0)), y3, ty_Int) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F0G(y0, y1, Neg(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int),new_pr2F0G(y0, y1, Neg(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int)) (new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), new_primEvenNat0(Zero), y3, ty_Int),new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), new_primEvenNat0(Zero), y3, ty_Int)) (new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), new_primEvenNat0(Zero), y3, ty_Int),new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), new_primEvenNat0(Zero), y3, ty_Int)) ---------------------------------------- (108) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, x0, False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y1, x0, y0, y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, True, cd, ce) -> new_pr2F0G(new_sr4(vyv264, vyv265, cd), new_sr3(vyv264, cd), new_ms2(vyv266, ce), cd, ce) new_pr2F0G(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(x0), new_primEvenNat0(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), new_quot0(x0), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(vyv414, vyv415, vyv416, bd, be) -> new_pr2F3(new_esEs1(vyv416, be), vyv414, vyv416, vyv415, bd, be) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), new_primEvenNat0(Zero), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), new_primEvenNat0(Zero), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_esEs1(vyv416, ty_Integer) -> new_esEs(new_ms4(vyv416, new_fromInt0)) new_esEs1(vyv416, ty_Int) -> new_esEs0(new_ms3(vyv416, new_fromInt)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_ms2(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_ms2(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_ms2(x0, ty_Int) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_esEs1(x0, ty_Int) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_ms2(x0, ty_Integer) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs1(x0, ty_Integer) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (109) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), new_primEvenNat0(Zero), y3, ty_Int) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int),new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int)) ---------------------------------------- (110) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, x0, False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y1, x0, y0, y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, True, cd, ce) -> new_pr2F0G(new_sr4(vyv264, vyv265, cd), new_sr3(vyv264, cd), new_ms2(vyv266, ce), cd, ce) new_pr2F0G(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(x0), new_primEvenNat0(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), new_quot0(x0), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(vyv414, vyv415, vyv416, bd, be) -> new_pr2F3(new_esEs1(vyv416, be), vyv414, vyv416, vyv415, bd, be) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), new_primEvenNat0(Zero), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_esEs1(vyv416, ty_Integer) -> new_esEs(new_ms4(vyv416, new_fromInt0)) new_esEs1(vyv416, ty_Int) -> new_esEs0(new_ms3(vyv416, new_fromInt)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_ms2(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_ms2(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_ms2(x0, ty_Int) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_esEs1(x0, ty_Int) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_ms2(x0, ty_Integer) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs1(x0, ty_Integer) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (111) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), new_primEvenNat0(Zero), y3, ty_Int) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int),new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int)) ---------------------------------------- (112) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, x0, False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y1, x0, y0, y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, True, cd, ce) -> new_pr2F0G(new_sr4(vyv264, vyv265, cd), new_sr3(vyv264, cd), new_ms2(vyv266, ce), cd, ce) new_pr2F0G(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(x0), new_primEvenNat0(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), new_quot0(x0), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(vyv414, vyv415, vyv416, bd, be) -> new_pr2F3(new_esEs1(vyv416, be), vyv414, vyv416, vyv415, bd, be) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_esEs1(vyv416, ty_Integer) -> new_esEs(new_ms4(vyv416, new_fromInt0)) new_esEs1(vyv416, ty_Int) -> new_esEs0(new_ms3(vyv416, new_fromInt)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_ms2(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_ms2(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_ms2(x0, ty_Int) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_esEs1(x0, ty_Int) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_ms2(x0, ty_Integer) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs1(x0, ty_Integer) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (113) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G10(y0, y1, x0, False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y1, x0, y0, y3, ty_Int) at position [0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_ms3(Neg(new_primDivNatS2(x0)), Pos(Succ(Zero)))), y1, Neg(x0), y0, y3, ty_Int),new_pr2F0G10(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_ms3(Neg(new_primDivNatS2(x0)), Pos(Succ(Zero)))), y1, Neg(x0), y0, y3, ty_Int)) (new_pr2F0G10(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_ms3(new_primQuotInt(x0, Pos(Succ(Succ(Zero)))), Pos(Succ(Zero)))), y1, Pos(x0), y0, y3, ty_Int),new_pr2F0G10(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_ms3(new_primQuotInt(x0, Pos(Succ(Succ(Zero)))), Pos(Succ(Zero)))), y1, Pos(x0), y0, y3, ty_Int)) ---------------------------------------- (114) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(vyv264, vyv265, vyv266, True, cd, ce) -> new_pr2F0G(new_sr4(vyv264, vyv265, cd), new_sr3(vyv264, cd), new_ms2(vyv266, ce), cd, ce) new_pr2F0G(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(x0), new_primEvenNat0(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), new_quot0(x0), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(vyv414, vyv415, vyv416, bd, be) -> new_pr2F3(new_esEs1(vyv416, be), vyv414, vyv416, vyv415, bd, be) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_ms3(Neg(new_primDivNatS2(x0)), Pos(Succ(Zero)))), y1, Neg(x0), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_ms3(new_primQuotInt(x0, Pos(Succ(Succ(Zero)))), Pos(Succ(Zero)))), y1, Pos(x0), y0, y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_esEs1(vyv416, ty_Integer) -> new_esEs(new_ms4(vyv416, new_fromInt0)) new_esEs1(vyv416, ty_Int) -> new_esEs0(new_ms3(vyv416, new_fromInt)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_ms2(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_ms2(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_ms2(x0, ty_Int) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_esEs1(x0, ty_Int) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_ms2(x0, ty_Integer) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs1(x0, ty_Integer) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (115) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_ms3(Neg(new_primDivNatS2(x0)), Pos(Succ(Zero)))), y1, Neg(x0), y0, y3, ty_Int) at position [0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero)))), y1, Neg(x0), y0, y3, ty_Int),new_pr2F0G10(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero)))), y1, Neg(x0), y0, y3, ty_Int)) ---------------------------------------- (116) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(vyv264, vyv265, vyv266, True, cd, ce) -> new_pr2F0G(new_sr4(vyv264, vyv265, cd), new_sr3(vyv264, cd), new_ms2(vyv266, ce), cd, ce) new_pr2F0G(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(x0), new_primEvenNat0(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), new_quot0(x0), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(vyv414, vyv415, vyv416, bd, be) -> new_pr2F3(new_esEs1(vyv416, be), vyv414, vyv416, vyv415, bd, be) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_ms3(new_primQuotInt(x0, Pos(Succ(Succ(Zero)))), Pos(Succ(Zero)))), y1, Pos(x0), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero)))), y1, Neg(x0), y0, y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_esEs1(vyv416, ty_Integer) -> new_esEs(new_ms4(vyv416, new_fromInt0)) new_esEs1(vyv416, ty_Int) -> new_esEs0(new_ms3(vyv416, new_fromInt)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_ms2(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_ms2(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_ms2(x0, ty_Int) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_esEs1(x0, ty_Int) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_ms2(x0, ty_Integer) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs1(x0, ty_Integer) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (117) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_ms3(new_primQuotInt(x0, Pos(Succ(Succ(Zero)))), Pos(Succ(Zero)))), y1, Pos(x0), y0, y3, ty_Int) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_ms3(Pos(new_primDivNatS1(x0, Succ(Zero))), Pos(Succ(Zero)))), y1, Pos(x0), y0, y3, ty_Int),new_pr2F0G10(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_ms3(Pos(new_primDivNatS1(x0, Succ(Zero))), Pos(Succ(Zero)))), y1, Pos(x0), y0, y3, ty_Int)) ---------------------------------------- (118) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(vyv264, vyv265, vyv266, True, cd, ce) -> new_pr2F0G(new_sr4(vyv264, vyv265, cd), new_sr3(vyv264, cd), new_ms2(vyv266, ce), cd, ce) new_pr2F0G(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(x0), new_primEvenNat0(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), new_quot0(x0), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(vyv414, vyv415, vyv416, bd, be) -> new_pr2F3(new_esEs1(vyv416, be), vyv414, vyv416, vyv415, bd, be) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero)))), y1, Neg(x0), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_ms3(Pos(new_primDivNatS1(x0, Succ(Zero))), Pos(Succ(Zero)))), y1, Pos(x0), y0, y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_esEs1(vyv416, ty_Integer) -> new_esEs(new_ms4(vyv416, new_fromInt0)) new_esEs1(vyv416, ty_Int) -> new_esEs0(new_ms3(vyv416, new_fromInt)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_ms2(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_ms2(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_ms2(x0, ty_Int) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_esEs1(x0, ty_Int) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_ms2(x0, ty_Integer) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs1(x0, ty_Integer) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (119) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_ms3(Pos(new_primDivNatS1(x0, Succ(Zero))), Pos(Succ(Zero)))), y1, Pos(x0), y0, y3, ty_Int) at position [0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y1, Pos(x0), y0, y3, ty_Int),new_pr2F0G10(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y1, Pos(x0), y0, y3, ty_Int)) ---------------------------------------- (120) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(vyv264, vyv265, vyv266, True, cd, ce) -> new_pr2F0G(new_sr4(vyv264, vyv265, cd), new_sr3(vyv264, cd), new_ms2(vyv266, ce), cd, ce) new_pr2F0G(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(x0), new_primEvenNat0(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), new_quot0(x0), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(vyv414, vyv415, vyv416, bd, be) -> new_pr2F3(new_esEs1(vyv416, be), vyv414, vyv416, vyv415, bd, be) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero)))), y1, Neg(x0), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y1, Pos(x0), y0, y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_esEs1(vyv416, ty_Integer) -> new_esEs(new_ms4(vyv416, new_fromInt0)) new_esEs1(vyv416, ty_Int) -> new_esEs0(new_ms3(vyv416, new_fromInt)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_ms2(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_ms2(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_ms2(x0, ty_Int) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_esEs1(x0, ty_Int) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_ms2(x0, ty_Integer) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs1(x0, ty_Integer) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (121) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G11(vyv264, vyv265, vyv266, True, cd, ce) -> new_pr2F0G(new_sr4(vyv264, vyv265, cd), new_sr3(vyv264, cd), new_ms2(vyv266, ce), cd, ce) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), new_fromInt), y3, ty_Int),new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), new_fromInt), y3, ty_Int)) (new_pr2F0G11(y0, y1, x0, True, y3, ty_Integer) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms4(new_quot1(x0), new_fromInt0), y3, ty_Integer),new_pr2F0G11(y0, y1, x0, True, y3, ty_Integer) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms4(new_quot1(x0), new_fromInt0), y3, ty_Integer)) ---------------------------------------- (122) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(x0), new_primEvenNat0(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), new_quot0(x0), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(vyv414, vyv415, vyv416, bd, be) -> new_pr2F3(new_esEs1(vyv416, be), vyv414, vyv416, vyv415, bd, be) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero)))), y1, Neg(x0), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y1, Pos(x0), y0, y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), new_fromInt), y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Integer) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms4(new_quot1(x0), new_fromInt0), y3, ty_Integer) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_esEs1(vyv416, ty_Integer) -> new_esEs(new_ms4(vyv416, new_fromInt0)) new_esEs1(vyv416, ty_Int) -> new_esEs0(new_ms3(vyv416, new_fromInt)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_ms2(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_ms2(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_ms2(x0, ty_Int) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_esEs1(x0, ty_Int) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_ms2(x0, ty_Integer) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs1(x0, ty_Integer) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (123) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (124) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), new_quot0(x0), y3, ty_Int) new_pr2F0G(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(x0), new_primEvenNat0(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y1, Pos(x0), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(vyv414, vyv415, vyv416, bd, be) -> new_pr2F3(new_esEs1(vyv416, be), vyv414, vyv416, vyv415, bd, be) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero)))), y1, Neg(x0), y0, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), new_fromInt), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_esEs1(vyv416, ty_Integer) -> new_esEs(new_ms4(vyv416, new_fromInt0)) new_esEs1(vyv416, ty_Int) -> new_esEs0(new_ms3(vyv416, new_fromInt)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_ms2(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_ms2(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_ms2(x0, ty_Int) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_esEs1(x0, ty_Int) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_ms2(x0, ty_Integer) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs1(x0, ty_Integer) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (125) 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. ---------------------------------------- (126) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), new_quot0(x0), y3, ty_Int) new_pr2F0G(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(x0), new_primEvenNat0(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y1, Pos(x0), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(vyv414, vyv415, vyv416, bd, be) -> new_pr2F3(new_esEs1(vyv416, be), vyv414, vyv416, vyv415, bd, be) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero)))), y1, Neg(x0), y0, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), new_fromInt), y3, ty_Int) The TRS R consists of the following rules: new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_esEs1(vyv416, ty_Integer) -> new_esEs(new_ms4(vyv416, new_fromInt0)) new_esEs1(vyv416, ty_Int) -> new_esEs0(new_ms3(vyv416, new_fromInt)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_ms2(x0, ty_Int) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_esEs1(x0, ty_Int) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_ms2(x0, ty_Integer) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs1(x0, ty_Integer) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (127) 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_ms2(x0, ty_Int) new_ms2(x0, ty_Integer) ---------------------------------------- (128) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), new_quot0(x0), y3, ty_Int) new_pr2F0G(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(x0), new_primEvenNat0(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y1, Pos(x0), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(vyv414, vyv415, vyv416, bd, be) -> new_pr2F3(new_esEs1(vyv416, be), vyv414, vyv416, vyv415, bd, be) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero)))), y1, Neg(x0), y0, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), new_fromInt), y3, ty_Int) The TRS R consists of the following rules: new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_esEs1(vyv416, ty_Integer) -> new_esEs(new_ms4(vyv416, new_fromInt0)) new_esEs1(vyv416, ty_Int) -> new_esEs0(new_ms3(vyv416, new_fromInt)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_esEs1(x0, ty_Int) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs1(x0, ty_Integer) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (129) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), new_fromInt), y3, ty_Int) at position [2,1] we obtained the following new rules [LPAR04]: (new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int),new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int)) ---------------------------------------- (130) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), new_quot0(x0), y3, ty_Int) new_pr2F0G(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(x0), new_primEvenNat0(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y1, Pos(x0), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(vyv414, vyv415, vyv416, bd, be) -> new_pr2F3(new_esEs1(vyv416, be), vyv414, vyv416, vyv415, bd, be) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero)))), y1, Neg(x0), y0, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_esEs1(vyv416, ty_Integer) -> new_esEs(new_ms4(vyv416, new_fromInt0)) new_esEs1(vyv416, ty_Int) -> new_esEs0(new_ms3(vyv416, new_fromInt)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_esEs1(x0, ty_Int) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs1(x0, ty_Integer) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (131) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G10(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), new_quot0(x0), y3, ty_Int) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int),new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int)) (new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), new_primQuotInt(x0, Pos(Succ(Succ(Zero)))), y3, ty_Int),new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), new_primQuotInt(x0, Pos(Succ(Succ(Zero)))), y3, ty_Int)) ---------------------------------------- (132) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(x0), new_primEvenNat0(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y1, Pos(x0), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(vyv414, vyv415, vyv416, bd, be) -> new_pr2F3(new_esEs1(vyv416, be), vyv414, vyv416, vyv415, bd, be) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero)))), y1, Neg(x0), y0, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), new_primQuotInt(x0, Pos(Succ(Succ(Zero)))), y3, ty_Int) The TRS R consists of the following rules: new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_esEs1(vyv416, ty_Integer) -> new_esEs(new_ms4(vyv416, new_fromInt0)) new_esEs1(vyv416, ty_Int) -> new_esEs0(new_ms3(vyv416, new_fromInt)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_esEs1(x0, ty_Int) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs1(x0, ty_Integer) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (133) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), new_primQuotInt(x0, Pos(Succ(Succ(Zero)))), y3, ty_Int) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int),new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int)) ---------------------------------------- (134) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(x0), new_primEvenNat0(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y1, Pos(x0), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(vyv414, vyv415, vyv416, bd, be) -> new_pr2F3(new_esEs1(vyv416, be), vyv414, vyv416, vyv415, bd, be) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero)))), y1, Neg(x0), y0, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_esEs1(vyv416, ty_Integer) -> new_esEs(new_ms4(vyv416, new_fromInt0)) new_esEs1(vyv416, ty_Int) -> new_esEs0(new_ms3(vyv416, new_fromInt)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_esEs1(x0, ty_Int) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs1(x0, ty_Integer) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (135) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(x0), new_primEvenNat0(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), new_primEvenNat0(Zero), y3, ty_Int),new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), new_primEvenNat0(Zero), y3, ty_Int)) (new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), new_primEvenNat0(Zero), y3, ty_Int),new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), new_primEvenNat0(Zero), y3, ty_Int)) (new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int),new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int)) ---------------------------------------- (136) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y1, Pos(x0), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(vyv414, vyv415, vyv416, bd, be) -> new_pr2F3(new_esEs1(vyv416, be), vyv414, vyv416, vyv415, bd, be) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero)))), y1, Neg(x0), y0, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), new_primEvenNat0(Zero), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), new_primEvenNat0(Zero), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) The TRS R consists of the following rules: new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_esEs1(vyv416, ty_Integer) -> new_esEs(new_ms4(vyv416, new_fromInt0)) new_esEs1(vyv416, ty_Int) -> new_esEs0(new_ms3(vyv416, new_fromInt)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_esEs1(x0, ty_Int) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs1(x0, ty_Integer) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (137) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), new_primEvenNat0(Zero), y3, ty_Int) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int),new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int)) ---------------------------------------- (138) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y1, Pos(x0), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(vyv414, vyv415, vyv416, bd, be) -> new_pr2F3(new_esEs1(vyv416, be), vyv414, vyv416, vyv415, bd, be) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero)))), y1, Neg(x0), y0, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), new_primEvenNat0(Zero), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) The TRS R consists of the following rules: new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_esEs1(vyv416, ty_Integer) -> new_esEs(new_ms4(vyv416, new_fromInt0)) new_esEs1(vyv416, ty_Int) -> new_esEs0(new_ms3(vyv416, new_fromInt)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_esEs1(x0, ty_Int) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs1(x0, ty_Integer) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (139) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), new_primEvenNat0(Zero), y3, ty_Int) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int),new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int)) ---------------------------------------- (140) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y1, Pos(x0), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(vyv414, vyv415, vyv416, bd, be) -> new_pr2F3(new_esEs1(vyv416, be), vyv414, vyv416, vyv415, bd, be) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero)))), y1, Neg(x0), y0, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) The TRS R consists of the following rules: new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_esEs1(vyv416, ty_Integer) -> new_esEs(new_ms4(vyv416, new_fromInt0)) new_esEs1(vyv416, ty_Int) -> new_esEs0(new_ms3(vyv416, new_fromInt)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_esEs1(x0, ty_Int) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs1(x0, ty_Integer) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (141) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G10(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y1, Pos(x0), y0, y3, ty_Int) at position [0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Pos(Zero), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(Zero, Succ(Zero))), y1, Pos(Zero), y0, y3, ty_Int),new_pr2F0G10(y0, y1, Pos(Zero), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(Zero, Succ(Zero))), y1, Pos(Zero), y0, y3, ty_Int)) (new_pr2F0G10(y0, y1, Pos(Succ(Zero)), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(Zero, Succ(Zero))), y1, Pos(Succ(Zero)), y0, y3, ty_Int),new_pr2F0G10(y0, y1, Pos(Succ(Zero)), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(Zero, Succ(Zero))), y1, Pos(Succ(Zero)), y0, y3, ty_Int)) (new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int),new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int)) ---------------------------------------- (142) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(vyv414, vyv415, vyv416, bd, be) -> new_pr2F3(new_esEs1(vyv416, be), vyv414, vyv416, vyv415, bd, be) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero)))), y1, Neg(x0), y0, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Zero), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(Zero, Succ(Zero))), y1, Pos(Zero), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Zero)), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(Zero, Succ(Zero))), y1, Pos(Succ(Zero)), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) The TRS R consists of the following rules: new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_esEs1(vyv416, ty_Integer) -> new_esEs(new_ms4(vyv416, new_fromInt0)) new_esEs1(vyv416, ty_Int) -> new_esEs0(new_ms3(vyv416, new_fromInt)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_esEs1(x0, ty_Int) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs1(x0, ty_Integer) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (143) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. ---------------------------------------- (144) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(vyv414, vyv415, vyv416, bd, be) -> new_pr2F3(new_esEs1(vyv416, be), vyv414, vyv416, vyv415, bd, be) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero)))), y1, Neg(x0), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) The TRS R consists of the following rules: new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_esEs1(vyv416, ty_Integer) -> new_esEs(new_ms4(vyv416, new_fromInt0)) new_esEs1(vyv416, ty_Int) -> new_esEs0(new_ms3(vyv416, new_fromInt)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_esEs1(x0, ty_Int) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs1(x0, ty_Integer) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (145) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G0(vyv414, vyv415, vyv416, bd, be) -> new_pr2F3(new_esEs1(vyv416, be), vyv414, vyv416, vyv415, bd, be) at position [0] we obtained the following new rules [LPAR04]: (new_pr2F0G0(y0, y1, x0, y3, ty_Integer) -> new_pr2F3(new_esEs(new_ms4(x0, new_fromInt0)), y0, x0, y1, y3, ty_Integer),new_pr2F0G0(y0, y1, x0, y3, ty_Integer) -> new_pr2F3(new_esEs(new_ms4(x0, new_fromInt0)), y0, x0, y1, y3, ty_Integer)) (new_pr2F0G0(y0, y1, x0, y3, ty_Int) -> new_pr2F3(new_esEs0(new_ms3(x0, new_fromInt)), y0, x0, y1, y3, ty_Int),new_pr2F0G0(y0, y1, x0, y3, ty_Int) -> new_pr2F3(new_esEs0(new_ms3(x0, new_fromInt)), y0, x0, y1, y3, ty_Int)) ---------------------------------------- (146) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero)))), y1, Neg(x0), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G0(y0, y1, x0, y3, ty_Integer) -> new_pr2F3(new_esEs(new_ms4(x0, new_fromInt0)), y0, x0, y1, y3, ty_Integer) new_pr2F0G0(y0, y1, x0, y3, ty_Int) -> new_pr2F3(new_esEs0(new_ms3(x0, new_fromInt)), y0, x0, y1, y3, ty_Int) The TRS R consists of the following rules: new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_esEs1(vyv416, ty_Integer) -> new_esEs(new_ms4(vyv416, new_fromInt0)) new_esEs1(vyv416, ty_Int) -> new_esEs0(new_ms3(vyv416, new_fromInt)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_esEs1(x0, ty_Int) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs1(x0, ty_Integer) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (147) 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. ---------------------------------------- (148) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero)))), y1, Neg(x0), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G0(y0, y1, x0, y3, ty_Integer) -> new_pr2F3(new_esEs(new_ms4(x0, new_fromInt0)), y0, x0, y1, y3, ty_Integer) new_pr2F0G0(y0, y1, x0, y3, ty_Int) -> new_pr2F3(new_esEs0(new_ms3(x0, new_fromInt)), y0, x0, y1, y3, ty_Int) The TRS R consists of the following rules: new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_esEs1(x0, ty_Int) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs1(x0, ty_Integer) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (149) 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_esEs1(x0, ty_Int) new_esEs1(x0, ty_Integer) ---------------------------------------- (150) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero)))), y1, Neg(x0), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G0(y0, y1, x0, y3, ty_Integer) -> new_pr2F3(new_esEs(new_ms4(x0, new_fromInt0)), y0, x0, y1, y3, ty_Integer) new_pr2F0G0(y0, y1, x0, y3, ty_Int) -> new_pr2F3(new_esEs0(new_ms3(x0, new_fromInt)), y0, x0, y1, y3, ty_Int) The TRS R consists of the following rules: new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (151) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G0(y0, y1, x0, y3, ty_Integer) -> new_pr2F3(new_esEs(new_ms4(x0, new_fromInt0)), y0, x0, y1, y3, ty_Integer) at position [0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G0(y0, y1, x0, y3, ty_Integer) -> new_pr2F3(new_esEs(error([])), y0, x0, y1, y3, ty_Integer),new_pr2F0G0(y0, y1, x0, y3, ty_Integer) -> new_pr2F3(new_esEs(error([])), y0, x0, y1, y3, ty_Integer)) ---------------------------------------- (152) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero)))), y1, Neg(x0), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G0(y0, y1, x0, y3, ty_Int) -> new_pr2F3(new_esEs0(new_ms3(x0, new_fromInt)), y0, x0, y1, y3, ty_Int) new_pr2F0G0(y0, y1, x0, y3, ty_Integer) -> new_pr2F3(new_esEs(error([])), y0, x0, y1, y3, ty_Integer) The TRS R consists of the following rules: new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (153) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (154) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G0(y0, y1, x0, y3, ty_Int) -> new_pr2F3(new_esEs0(new_ms3(x0, new_fromInt)), y0, x0, y1, y3, ty_Int) new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero)))), y1, Neg(x0), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) The TRS R consists of the following rules: new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (155) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G0(y0, y1, x0, y3, ty_Int) -> new_pr2F3(new_esEs0(new_ms3(x0, new_fromInt)), y0, x0, y1, y3, ty_Int) at position [0,0,1] we obtained the following new rules [LPAR04]: (new_pr2F0G0(y0, y1, x0, y3, ty_Int) -> new_pr2F3(new_esEs0(new_ms3(x0, Pos(Succ(Zero)))), y0, x0, y1, y3, ty_Int),new_pr2F0G0(y0, y1, x0, y3, ty_Int) -> new_pr2F3(new_esEs0(new_ms3(x0, Pos(Succ(Zero)))), y0, x0, y1, y3, ty_Int)) ---------------------------------------- (156) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero)))), y1, Neg(x0), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G0(y0, y1, x0, y3, ty_Int) -> new_pr2F3(new_esEs0(new_ms3(x0, Pos(Succ(Zero)))), y0, x0, y1, y3, ty_Int) The TRS R consists of the following rules: new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (157) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F3(False, vyv423, vyv424, vyv425, h, ba) -> new_pr2F0G1(vyv423, vyv425, vyv424, new_even(vyv424, ba), h, ba) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F3(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, x0, new_even2(new_ms3(x0, new_fromInt)), y3, ty_Int),new_pr2F3(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, x0, new_even2(new_ms3(x0, new_fromInt)), y3, ty_Int)) (new_pr2F3(False, y0, x0, y2, y3, ty_Integer) -> new_pr2F0G1(y0, y2, x0, new_even3(new_ms4(x0, new_fromInt0)), y3, ty_Integer),new_pr2F3(False, y0, x0, y2, y3, ty_Integer) -> new_pr2F0G1(y0, y2, x0, new_even3(new_ms4(x0, new_fromInt0)), y3, ty_Integer)) ---------------------------------------- (158) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero)))), y1, Neg(x0), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G0(y0, y1, x0, y3, ty_Int) -> new_pr2F3(new_esEs0(new_ms3(x0, Pos(Succ(Zero)))), y0, x0, y1, y3, ty_Int) new_pr2F3(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, x0, new_even2(new_ms3(x0, new_fromInt)), y3, ty_Int) new_pr2F3(False, y0, x0, y2, y3, ty_Integer) -> new_pr2F0G1(y0, y2, x0, new_even3(new_ms4(x0, new_fromInt0)), y3, ty_Integer) The TRS R consists of the following rules: new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (159) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (160) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G0(y0, y1, x0, y3, ty_Int) -> new_pr2F3(new_esEs0(new_ms3(x0, Pos(Succ(Zero)))), y0, x0, y1, y3, ty_Int) new_pr2F3(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, x0, new_even2(new_ms3(x0, new_fromInt)), y3, ty_Int) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero)))), y1, Neg(x0), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) The TRS R consists of the following rules: new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_even(vyv424, ty_Int) -> new_even2(new_ms3(vyv424, new_fromInt)) new_even(vyv424, ty_Integer) -> new_even3(new_ms4(vyv424, new_fromInt0)) new_even3(vyv286) -> error([]) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (161) 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. ---------------------------------------- (162) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G0(y0, y1, x0, y3, ty_Int) -> new_pr2F3(new_esEs0(new_ms3(x0, Pos(Succ(Zero)))), y0, x0, y1, y3, ty_Int) new_pr2F3(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, x0, new_even2(new_ms3(x0, new_fromInt)), y3, ty_Int) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero)))), y1, Neg(x0), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) The TRS R consists of the following rules: new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_even3(x0) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_even(x0, ty_Int) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_even(x0, ty_Integer) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (163) 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_even3(x0) new_even(x0, ty_Int) new_even(x0, ty_Integer) ---------------------------------------- (164) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G0(y0, y1, x0, y3, ty_Int) -> new_pr2F3(new_esEs0(new_ms3(x0, Pos(Succ(Zero)))), y0, x0, y1, y3, ty_Int) new_pr2F3(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, x0, new_even2(new_ms3(x0, new_fromInt)), y3, ty_Int) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero)))), y1, Neg(x0), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) The TRS R consists of the following rules: new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (165) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F3(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, x0, new_even2(new_ms3(x0, new_fromInt)), y3, ty_Int) at position [3,0,1] we obtained the following new rules [LPAR04]: (new_pr2F3(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, x0, new_even2(new_ms3(x0, Pos(Succ(Zero)))), y3, ty_Int),new_pr2F3(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, x0, new_even2(new_ms3(x0, Pos(Succ(Zero)))), y3, ty_Int)) ---------------------------------------- (166) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G0(y0, y1, x0, y3, ty_Int) -> new_pr2F3(new_esEs0(new_ms3(x0, Pos(Succ(Zero)))), y0, x0, y1, y3, ty_Int) new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero)))), y1, Neg(x0), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F3(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, x0, new_even2(new_ms3(x0, Pos(Succ(Zero)))), y3, ty_Int) The TRS R consists of the following rules: new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (167) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G0(y0, y1, x0, y3, ty_Int) -> new_pr2F3(new_esEs0(new_ms3(x0, Pos(Succ(Zero)))), y0, x0, y1, y3, ty_Int) at position [0] we obtained the following new rules [LPAR04]: (new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int),new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int)) (new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int),new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int)) ---------------------------------------- (168) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero)))), y1, Neg(x0), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F3(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, x0, new_even2(new_ms3(x0, Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) The TRS R consists of the following rules: new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (169) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G1(vyv431, vyv432, vyv433, False, bb, bc) -> new_pr2F0G0(vyv431, new_sr(vyv431, vyv432, bb), new_ms(vyv433, bc), bb, bc) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G1(y0, y1, x0, False, y3, ty_Integer) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms4(x0, new_fromInt0), y3, ty_Integer),new_pr2F0G1(y0, y1, x0, False, y3, ty_Integer) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms4(x0, new_fromInt0), y3, ty_Integer)) (new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, new_fromInt), y3, ty_Int),new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, new_fromInt), y3, ty_Int)) ---------------------------------------- (170) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero)))), y1, Neg(x0), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F3(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, x0, new_even2(new_ms3(x0, Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Integer) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms4(x0, new_fromInt0), y3, ty_Integer) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, new_fromInt), y3, ty_Int) The TRS R consists of the following rules: new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (171) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (172) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero)))), y1, Neg(x0), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, x0, new_even2(new_ms3(x0, Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, new_fromInt), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_ms(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (173) 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. ---------------------------------------- (174) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero)))), y1, Neg(x0), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, x0, new_even2(new_ms3(x0, Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, new_fromInt), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_ms(x0, ty_Int) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_ms(x0, ty_Integer) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (175) 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, ty_Int) new_ms(x0, ty_Integer) ---------------------------------------- (176) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero)))), y1, Neg(x0), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, x0, new_even2(new_ms3(x0, Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, new_fromInt), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (177) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, new_fromInt), y3, ty_Int) at position [2,1] we obtained the following new rules [LPAR04]: (new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int),new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int)) ---------------------------------------- (178) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero)))), y1, Neg(x0), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, x0, new_even2(new_ms3(x0, Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (179) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G(y0, y1, Neg(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), new_primEvenNat0(new_primDivNatS02(Zero, Zero)), y3, ty_Int),new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), new_primEvenNat0(new_primDivNatS02(Zero, Zero)), y3, ty_Int)) (new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primDivNatS02(Succ(x2), Zero)), y3, ty_Int),new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primDivNatS02(Succ(x2), Zero)), y3, ty_Int)) ---------------------------------------- (180) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero)))), y1, Neg(x0), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, x0, new_even2(new_ms3(x0, Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), new_primEvenNat0(new_primDivNatS02(Zero, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primDivNatS02(Succ(x2), Zero)), y3, ty_Int) The TRS R consists of the following rules: new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (181) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), new_primEvenNat0(new_primDivNatS02(Zero, Zero)), y3, ty_Int) at position [3,0] we obtained the following new rules [LPAR04]: (new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), new_primEvenNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), y3, ty_Int),new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), new_primEvenNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), y3, ty_Int)) ---------------------------------------- (182) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero)))), y1, Neg(x0), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, x0, new_even2(new_ms3(x0, Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primDivNatS02(Succ(x2), Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), new_primEvenNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), y3, ty_Int) The TRS R consists of the following rules: new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (183) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primDivNatS02(Succ(x2), Zero)), y3, ty_Int) at position [3,0] we obtained the following new rules [LPAR04]: (new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), y3, ty_Int),new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), y3, ty_Int)) ---------------------------------------- (184) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero)))), y1, Neg(x0), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, x0, new_even2(new_ms3(x0, Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), new_primEvenNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), y3, ty_Int) The TRS R consists of the following rules: new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (185) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), new_primEvenNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), y3, ty_Int) at position [3,0,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), new_primEvenNat0(Succ(new_primDivNatS1(Zero, Succ(Zero)))), y3, ty_Int),new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), new_primEvenNat0(Succ(new_primDivNatS1(Zero, Succ(Zero)))), y3, ty_Int)) ---------------------------------------- (186) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero)))), y1, Neg(x0), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, x0, new_even2(new_ms3(x0, Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), new_primEvenNat0(Succ(new_primDivNatS1(Zero, Succ(Zero)))), y3, ty_Int) The TRS R consists of the following rules: new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (187) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), y3, ty_Int) at position [3,0,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int),new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int)) ---------------------------------------- (188) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero)))), y1, Neg(x0), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, x0, new_even2(new_ms3(x0, Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), new_primEvenNat0(Succ(new_primDivNatS1(Zero, Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) The TRS R consists of the following rules: new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (189) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), new_primEvenNat0(Succ(new_primDivNatS1(Zero, Succ(Zero)))), y3, ty_Int) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), new_primEvenNat0(Succ(Zero)), y3, ty_Int),new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), new_primEvenNat0(Succ(Zero)), y3, ty_Int)) ---------------------------------------- (190) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero)))), y1, Neg(x0), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, x0, new_even2(new_ms3(x0, Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), new_primEvenNat0(Succ(Zero)), y3, ty_Int) The TRS R consists of the following rules: new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (191) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), new_primEvenNat0(Succ(Zero)), y3, ty_Int) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int),new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int)) ---------------------------------------- (192) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero)))), y1, Neg(x0), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, x0, new_even2(new_ms3(x0, Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) The TRS R consists of the following rules: new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (193) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G10(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero)))), y1, Neg(x0), y0, y3, ty_Int) at position [0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero)))), y1, Neg(Succ(Succ(x0))), y0, y3, ty_Int),new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero)))), y1, Neg(Succ(Succ(x0))), y0, y3, ty_Int)) (new_pr2F0G10(y0, y1, Neg(Succ(Zero)), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(Zero, Succ(Zero)))), y1, Neg(Succ(Zero)), y0, y3, ty_Int),new_pr2F0G10(y0, y1, Neg(Succ(Zero)), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(Zero, Succ(Zero)))), y1, Neg(Succ(Zero)), y0, y3, ty_Int)) (new_pr2F0G10(y0, y1, Neg(Zero), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(Zero, Succ(Zero)))), y1, Neg(Zero), y0, y3, ty_Int),new_pr2F0G10(y0, y1, Neg(Zero), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(Zero, Succ(Zero)))), y1, Neg(Zero), y0, y3, ty_Int)) ---------------------------------------- (194) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, x0, new_even2(new_ms3(x0, Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero)))), y1, Neg(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Zero)), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(Zero, Succ(Zero)))), y1, Neg(Succ(Zero)), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Zero), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(Zero, Succ(Zero)))), y1, Neg(Zero), y0, y3, ty_Int) The TRS R consists of the following rules: new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (195) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. ---------------------------------------- (196) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, x0, new_even2(new_ms3(x0, Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero)))), y1, Neg(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) The TRS R consists of the following rules: new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (197) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G11(vyv264, vyv265, vyv266, False, cd, ce) -> new_pr2F0G0(new_sr2(vyv264, cd), vyv265, new_ms1(vyv266, ce), cd, ce) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G11(y0, y1, x0, False, y3, ty_Integer) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms4(new_quot1(x0), new_fromInt0), y3, ty_Integer),new_pr2F0G11(y0, y1, x0, False, y3, ty_Integer) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms4(new_quot1(x0), new_fromInt0), y3, ty_Integer)) (new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), new_fromInt), y3, ty_Int),new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), new_fromInt), y3, ty_Int)) ---------------------------------------- (198) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, x0, new_even2(new_ms3(x0, Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero)))), y1, Neg(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Integer) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms4(new_quot1(x0), new_fromInt0), y3, ty_Integer) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), new_fromInt), y3, ty_Int) The TRS R consists of the following rules: new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (199) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (200) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F3(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, x0, new_even2(new_ms3(x0, Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero)))), y1, Neg(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), new_fromInt), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_ms1(vyv266, ty_Integer) -> new_ms4(new_quot1(vyv266), new_fromInt0) new_ms1(vyv266, ty_Int) -> new_ms3(new_quot0(vyv266), new_fromInt) new_quot1(Integer(vyv2220)) -> new_quot2(vyv2220, Integer(Pos(Succ(Succ(Zero))))) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (201) 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. ---------------------------------------- (202) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F3(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, x0, new_even2(new_ms3(x0, Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero)))), y1, Neg(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), new_fromInt), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_ms1(x0, ty_Integer) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_quot1(Integer(x0)) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_ms1(x0, ty_Int) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (203) 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_ms1(x0, ty_Integer) new_quot1(Integer(x0)) new_ms1(x0, ty_Int) ---------------------------------------- (204) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F3(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, x0, new_even2(new_ms3(x0, Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero)))), y1, Neg(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), new_fromInt), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (205) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), new_fromInt), y3, ty_Int) at position [2,1] we obtained the following new rules [LPAR04]: (new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int),new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int)) ---------------------------------------- (206) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F3(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, x0, new_even2(new_ms3(x0, Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero)))), y1, Neg(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (207) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F3(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, x0, new_even2(new_ms3(x0, Pos(Succ(Zero)))), y3, ty_Int) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int),new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int)) (new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_even2(Neg(new_primPlusNat0(x0, Succ(Zero)))), y3, ty_Int),new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_even2(Neg(new_primPlusNat0(x0, Succ(Zero)))), y3, ty_Int)) ---------------------------------------- (208) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero)))), y1, Neg(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_even2(Neg(new_primPlusNat0(x0, Succ(Zero)))), y3, ty_Int) The TRS R consists of the following rules: new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (209) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_even2(Neg(new_primPlusNat0(x0, Succ(Zero)))), y3, ty_Int) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int),new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int)) ---------------------------------------- (210) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero)))), y1, Neg(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (211) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G1(vyv431, vyv432, vyv433, True, bb, bc) -> new_pr2F0G(new_sr0(vyv431, vyv432, bb), vyv431, new_ms0(vyv433, bc), bb, bc) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, new_fromInt), y3, ty_Int),new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, new_fromInt), y3, ty_Int)) (new_pr2F0G1(y0, y1, x0, True, y3, ty_Integer) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms4(x0, new_fromInt0), y3, ty_Integer),new_pr2F0G1(y0, y1, x0, True, y3, ty_Integer) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms4(x0, new_fromInt0), y3, ty_Integer)) ---------------------------------------- (212) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero)))), y1, Neg(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, new_fromInt), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Integer) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms4(x0, new_fromInt0), y3, ty_Integer) The TRS R consists of the following rules: new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (213) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (214) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero)))), y1, Neg(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, new_fromInt), y3, ty_Int) The TRS R consists of the following rules: new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms0(vyv433, ty_Int) -> new_ms3(vyv433, new_fromInt) new_ms0(vyv433, ty_Integer) -> new_ms4(vyv433, new_fromInt0) new_fromInt0 -> Integer(Pos(Succ(Zero))) new_ms4(vyv248, vyv247) -> error([]) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (215) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (216) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero)))), y1, Neg(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, new_fromInt), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) 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(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_fromInt0 new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_ms0(x0, ty_Integer) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_ms4(x0, x1) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms0(x0, ty_Int) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (217) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_fromInt0 new_ms0(x0, ty_Integer) new_ms4(x0, x1) new_ms0(x0, ty_Int) ---------------------------------------- (218) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero)))), y1, Neg(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, new_fromInt), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) 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(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (219) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, new_fromInt), y3, ty_Int) at position [2,1] we obtained the following new rules [LPAR04]: (new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int),new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int)) ---------------------------------------- (220) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero)))), y1, Neg(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_fromInt -> Pos(Succ(Zero)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Pos(vyv2460), Neg(vyv2450)) -> Pos(new_primPlusNat0(vyv2460, vyv2450)) new_ms3(Neg(vyv2460), Neg(vyv2450)) -> new_primMinusNat0(vyv2450, vyv2460) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) 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(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (221) 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. ---------------------------------------- (222) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero)))), y1, Neg(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_fromInt new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (223) 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 ---------------------------------------- (224) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero)))), y1, Neg(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (225) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G10(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS2(x0)), y3, ty_Int) at position [2,0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int),new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int)) (new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Zero), y3, ty_Int),new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Zero), y3, ty_Int)) (new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Zero), y3, ty_Int),new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Zero), y3, ty_Int)) ---------------------------------------- (226) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero)))), y1, Neg(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Zero), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Zero), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (227) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 2 less nodes. ---------------------------------------- (228) Complex Obligation (AND) ---------------------------------------- (229) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Zero), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (230) 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. ---------------------------------------- (231) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Zero), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) The TRS R consists of the following rules: new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (232) 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_even2(Neg(x0)) new_esEs3(x0, x1, ty_Int) new_even2(Pos(x0)) new_sr3(Integer(x0), ty_Integer) new_sr2(x0, ty_Integer) new_sr9(x0, x1) new_primDivNatS2(Zero) new_sr0(x0, x1, ty_Int) new_sr(x0, x1, ty_Integer) new_primMinusNat0(Zero, Zero) new_sr0(x0, x1, ty_Double) new_sr8(x0, x1) new_primEvenNat0(Succ(Succ(x0))) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_sr4(x0, x1, ty_Double) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primEvenNat0(Zero) new_primDivNatS2(Succ(Zero)) new_primEvenNat0(Succ(Zero)) new_sr3(x0, ty_Float) new_sr0(x0, x1, ty_Float) new_esEs3(x0, x1, ty_Integer) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_sr3(x0, ty_Int) new_ms3(Neg(x0), Neg(x1)) new_sr3(x0, ty_Double) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr7(x0) new_sr(x0, x1, ty_Float) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_sr19(:%(x0, x1), x2) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_sr18(x0) new_sr2(x0, ty_Int) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) ---------------------------------------- (233) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Zero), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) The TRS R consists of the following rules: new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) The set Q consists of the following terms: new_abs(Integer(Pos(Zero))) new_abs(Integer(Neg(Zero))) new_rem(Integer(x0), Integer(x1)) new_primDivNatS1(Succ(Zero), Zero) new_primMulDouble0(x0) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_primNegInt(x0) new_gcd00(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_gcd10(True, x0, x1) new_primRemInt(Neg(x0), Neg(Zero)) new_gcd20(False, x0, x1) new_primEqInt(Pos(Zero)) new_primQuotInt1(x0, True, x1, x2) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_gcd0Gcd'02(x0, x1) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMulNat0(Zero, Succ(x0)) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_primQuotInt(x0, Pos(Zero)) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (234) MNOCProof (EQUIVALENT) We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. ---------------------------------------- (235) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Zero), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) The TRS R consists of the following rules: new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (236) NonTerminationLoopProof (COMPLETE) We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. Found a loop by narrowing to the left: s = new_pr2F0G(y0', y1', Neg(Zero), y3', ty_Int) evaluates to t =new_pr2F0G(y0', new_sr1(y1', y3'), Neg(Zero), y3', ty_Int) Thus s starts an infinite chain as s semiunifies with t with the following substitutions: * Matcher: [y1' / new_sr1(y1', y3')] * Semiunifier: [ ] -------------------------------------------------------------------------------- Rewriting sequence new_pr2F0G(y0', y1', Neg(Zero), y3', ty_Int) -> new_pr2F0G10(y0', y1', Neg(Zero), True, y3', ty_Int) with rule new_pr2F0G(y0'', y1'', Neg(Zero), y3'', ty_Int) -> new_pr2F0G10(y0'', y1'', Neg(Zero), True, y3'', ty_Int) at position [] and matcher [y0'' / y0', y1'' / y1', y3'' / y3'] new_pr2F0G10(y0', y1', Neg(Zero), True, y3', ty_Int) -> new_pr2F0G(y0', new_sr1(y1', y3'), Neg(Zero), y3', ty_Int) with rule new_pr2F0G10(y0, y1, Neg(Zero), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Zero), y3, ty_Int) Now applying the matcher to the start term leads to a term which is equal to the last term in the rewriting sequence All these steps are and every following step will be a correct step w.r.t to Q. ---------------------------------------- (237) NO ---------------------------------------- (238) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero)))), y1, Neg(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (239) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), new_primEvenNat0(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), new_primEvenNat0(new_primDivNatS02(Zero, Zero)), y3, ty_Int),new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), new_primEvenNat0(new_primDivNatS02(Zero, Zero)), y3, ty_Int)) (new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primDivNatS02(Succ(x2), Zero)), y3, ty_Int),new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primDivNatS02(Succ(x2), Zero)), y3, ty_Int)) ---------------------------------------- (240) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero)))), y1, Neg(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), new_primEvenNat0(new_primDivNatS02(Zero, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primDivNatS02(Succ(x2), Zero)), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (241) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), new_primEvenNat0(new_primDivNatS02(Zero, Zero)), y3, ty_Int) at position [3,0] we obtained the following new rules [LPAR04]: (new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), new_primEvenNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), y3, ty_Int),new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), new_primEvenNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), y3, ty_Int)) ---------------------------------------- (242) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero)))), y1, Neg(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primDivNatS02(Succ(x2), Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), new_primEvenNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (243) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primDivNatS02(Succ(x2), Zero)), y3, ty_Int) at position [3,0] we obtained the following new rules [LPAR04]: (new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), y3, ty_Int),new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), y3, ty_Int)) ---------------------------------------- (244) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero)))), y1, Neg(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), new_primEvenNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (245) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), new_primEvenNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), y3, ty_Int) at position [3,0,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), new_primEvenNat0(Succ(new_primDivNatS1(Zero, Succ(Zero)))), y3, ty_Int),new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), new_primEvenNat0(Succ(new_primDivNatS1(Zero, Succ(Zero)))), y3, ty_Int)) ---------------------------------------- (246) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero)))), y1, Neg(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), new_primEvenNat0(Succ(new_primDivNatS1(Zero, Succ(Zero)))), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (247) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), y3, ty_Int) at position [3,0,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int),new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int)) ---------------------------------------- (248) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero)))), y1, Neg(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), new_primEvenNat0(Succ(new_primDivNatS1(Zero, Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (249) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), new_primEvenNat0(Succ(new_primDivNatS1(Zero, Succ(Zero)))), y3, ty_Int) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), new_primEvenNat0(Succ(Zero)), y3, ty_Int),new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), new_primEvenNat0(Succ(Zero)), y3, ty_Int)) ---------------------------------------- (250) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero)))), y1, Neg(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), new_primEvenNat0(Succ(Zero)), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (251) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), new_primEvenNat0(Succ(Zero)), y3, ty_Int) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int),new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int)) ---------------------------------------- (252) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero)))), y1, Neg(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (253) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G10(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS1(x0, Succ(Zero))), y3, ty_Int) at position [2,0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Zero), y3, ty_Int),new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Zero), y3, ty_Int)) (new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Zero), y3, ty_Int),new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Zero), y3, ty_Int)) (new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int),new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int)) ---------------------------------------- (254) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero)))), y1, Neg(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Zero), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Zero), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (255) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 2 less nodes. ---------------------------------------- (256) Complex Obligation (AND) ---------------------------------------- (257) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Zero), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (258) 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. ---------------------------------------- (259) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Zero), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) The TRS R consists of the following rules: new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (260) 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_even2(Neg(x0)) new_esEs3(x0, x1, ty_Int) new_even2(Pos(x0)) new_sr3(Integer(x0), ty_Integer) new_sr2(x0, ty_Integer) new_sr9(x0, x1) new_primDivNatS2(Zero) new_sr0(x0, x1, ty_Int) new_sr(x0, x1, ty_Integer) new_primMinusNat0(Zero, Zero) new_sr0(x0, x1, ty_Double) new_sr8(x0, x1) new_primEvenNat0(Succ(Succ(x0))) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_sr4(x0, x1, ty_Double) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primEvenNat0(Zero) new_primDivNatS2(Succ(Zero)) new_primEvenNat0(Succ(Zero)) new_sr3(x0, ty_Float) new_sr0(x0, x1, ty_Float) new_esEs3(x0, x1, ty_Integer) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_sr3(x0, ty_Int) new_ms3(Neg(x0), Neg(x1)) new_sr3(x0, ty_Double) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr7(x0) new_sr(x0, x1, ty_Float) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_sr19(:%(x0, x1), x2) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_sr18(x0) new_sr2(x0, ty_Int) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) ---------------------------------------- (261) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Zero), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) The TRS R consists of the following rules: new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) The set Q consists of the following terms: new_abs(Integer(Pos(Zero))) new_abs(Integer(Neg(Zero))) new_rem(Integer(x0), Integer(x1)) new_primDivNatS1(Succ(Zero), Zero) new_primMulDouble0(x0) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_primNegInt(x0) new_gcd00(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_gcd10(True, x0, x1) new_primRemInt(Neg(x0), Neg(Zero)) new_gcd20(False, x0, x1) new_primEqInt(Pos(Zero)) new_primQuotInt1(x0, True, x1, x2) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_gcd0Gcd'02(x0, x1) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMulNat0(Zero, Succ(x0)) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_primQuotInt(x0, Pos(Zero)) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (262) MNOCProof (EQUIVALENT) We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. ---------------------------------------- (263) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Zero), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) The TRS R consists of the following rules: new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (264) NonTerminationLoopProof (COMPLETE) We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. Found a loop by narrowing to the left: s = new_pr2F0G(y0', y1', Pos(Zero), y3', ty_Int) evaluates to t =new_pr2F0G(y0', new_sr1(y1', y3'), Pos(Zero), y3', ty_Int) Thus s starts an infinite chain as s semiunifies with t with the following substitutions: * Matcher: [y1' / new_sr1(y1', y3')] * Semiunifier: [ ] -------------------------------------------------------------------------------- Rewriting sequence new_pr2F0G(y0', y1', Pos(Zero), y3', ty_Int) -> new_pr2F0G10(y0', y1', Pos(Zero), True, y3', ty_Int) with rule new_pr2F0G(y0'', y1'', Pos(Zero), y3'', ty_Int) -> new_pr2F0G10(y0'', y1'', Pos(Zero), True, y3'', ty_Int) at position [] and matcher [y0'' / y0', y1'' / y1', y3'' / y3'] new_pr2F0G10(y0', y1', Pos(Zero), True, y3', ty_Int) -> new_pr2F0G(y0', new_sr1(y1', y3'), Pos(Zero), y3', ty_Int) with rule new_pr2F0G10(y0, y1, Pos(Zero), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Zero), y3, ty_Int) Now applying the matcher to the start term leads to a term which is equal to the last term in the rewriting sequence All these steps are and every following step will be a correct step w.r.t to Q. ---------------------------------------- (265) NO ---------------------------------------- (266) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero)))), y1, Neg(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (267) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero)))), y1, Neg(Succ(Succ(x0))), y0, y3, ty_Int) at position [0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS02(Zero, Zero), Succ(Zero)))), y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int),new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS02(Zero, Zero), Succ(Zero)))), y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int)) (new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS02(Succ(x2), Zero), Succ(Zero)))), y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int),new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS02(Succ(x2), Zero), Succ(Zero)))), y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int)) ---------------------------------------- (268) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS02(Zero, Zero), Succ(Zero)))), y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS02(Succ(x2), Zero), Succ(Zero)))), y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (269) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS02(Zero, Zero), Succ(Zero)))), y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Succ(Zero)))), y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int),new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Succ(Zero)))), y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int)) ---------------------------------------- (270) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS02(Succ(x2), Zero), Succ(Zero)))), y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Succ(Zero)))), y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (271) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(new_primDivNatS02(Succ(x2), Zero), Succ(Zero)))), y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Succ(Zero)))), y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int),new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Succ(Zero)))), y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int)) ---------------------------------------- (272) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Succ(Zero)))), y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Succ(Zero)))), y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (273) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Succ(Zero)))), y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)), Zero))))), y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int),new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)), Zero))))), y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int)) ---------------------------------------- (274) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Succ(Zero)))), y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)), Zero))))), y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (275) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(new_primPlusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Succ(Zero)))), y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)), Zero))))), y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int),new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)), Zero))))), y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int)) ---------------------------------------- (276) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)), Zero))))), y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)), Zero))))), y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (277) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)), Zero))))), y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) at position [0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(new_primEqInt(Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)), Zero))))), y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int),new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(new_primEqInt(Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)), Zero))))), y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int)) ---------------------------------------- (278) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)), Zero))))), y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(new_primEqInt(Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)), Zero))))), y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (279) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)), Zero))))), y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) at position [0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_primEqInt(Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)), Zero))))), y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int),new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_primEqInt(Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)), Zero))))), y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int)) ---------------------------------------- (280) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(new_primEqInt(Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)), Zero))))), y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_primEqInt(Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)), Zero))))), y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (281) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(new_primEqInt(Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)), Zero))))), y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) at position [0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int),new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int)) ---------------------------------------- (282) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_primEqInt(Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)), Zero))))), y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (283) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_primEqInt(Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)), Zero))))), y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) at position [0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int),new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int)) ---------------------------------------- (284) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (285) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F30(False, y0, x0, y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, x0, new_even2(new_ms3(new_quot0(x0), Pos(Succ(Zero)))), y3, ty_Int) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F30(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(x0), new_even2(new_ms3(Neg(new_primDivNatS2(x0)), Pos(Succ(Zero)))), y3, ty_Int),new_pr2F30(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(x0), new_even2(new_ms3(Neg(new_primDivNatS2(x0)), Pos(Succ(Zero)))), y3, ty_Int)) (new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_ms3(new_primQuotInt(x0, Pos(Succ(Succ(Zero)))), Pos(Succ(Zero)))), y3, ty_Int),new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_ms3(new_primQuotInt(x0, Pos(Succ(Succ(Zero)))), Pos(Succ(Zero)))), y3, ty_Int)) ---------------------------------------- (286) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(x0), new_even2(new_ms3(Neg(new_primDivNatS2(x0)), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_ms3(new_primQuotInt(x0, Pos(Succ(Succ(Zero)))), Pos(Succ(Zero)))), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (287) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F30(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(x0), new_even2(new_ms3(Neg(new_primDivNatS2(x0)), Pos(Succ(Zero)))), y3, ty_Int) at position [3,0] we obtained the following new rules [LPAR04]: (new_pr2F30(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(x0), new_even2(Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero)))), y3, ty_Int),new_pr2F30(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(x0), new_even2(Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero)))), y3, ty_Int)) ---------------------------------------- (288) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_ms3(new_primQuotInt(x0, Pos(Succ(Succ(Zero)))), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F30(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(x0), new_even2(Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero)))), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (289) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_ms3(new_primQuotInt(x0, Pos(Succ(Succ(Zero)))), Pos(Succ(Zero)))), y3, ty_Int) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_ms3(Pos(new_primDivNatS1(x0, Succ(Zero))), Pos(Succ(Zero)))), y3, ty_Int),new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_ms3(Pos(new_primDivNatS1(x0, Succ(Zero))), Pos(Succ(Zero)))), y3, ty_Int)) ---------------------------------------- (290) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(x0), new_even2(Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero)))), y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_ms3(Pos(new_primDivNatS1(x0, Succ(Zero))), Pos(Succ(Zero)))), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (291) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F30(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(x0), new_even2(Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero)))), y3, ty_Int) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F30(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int),new_pr2F30(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int)) ---------------------------------------- (292) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_ms3(Pos(new_primDivNatS1(x0, Succ(Zero))), Pos(Succ(Zero)))), y3, ty_Int) new_pr2F30(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (293) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_ms3(Pos(new_primDivNatS1(x0, Succ(Zero))), Pos(Succ(Zero)))), y3, ty_Int) at position [3,0] we obtained the following new rules [LPAR04]: (new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int),new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int)) ---------------------------------------- (294) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (295) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G11(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(Neg(new_primDivNatS2(x0)), Pos(Succ(Zero))), y3, ty_Int),new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(Neg(new_primDivNatS2(x0)), Pos(Succ(Zero))), y3, ty_Int)) (new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_primQuotInt(x0, Pos(Succ(Succ(Zero)))), Pos(Succ(Zero))), y3, ty_Int),new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_primQuotInt(x0, Pos(Succ(Succ(Zero)))), Pos(Succ(Zero))), y3, ty_Int)) ---------------------------------------- (296) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(Neg(new_primDivNatS2(x0)), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_primQuotInt(x0, Pos(Succ(Succ(Zero)))), Pos(Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (297) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(Neg(new_primDivNatS2(x0)), Pos(Succ(Zero))), y3, ty_Int) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int),new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int)) ---------------------------------------- (298) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_primQuotInt(x0, Pos(Succ(Succ(Zero)))), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (299) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(new_primQuotInt(x0, Pos(Succ(Succ(Zero)))), Pos(Succ(Zero))), y3, ty_Int) at position [2,0] we obtained the following new rules [LPAR04]: (new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(Pos(new_primDivNatS1(x0, Succ(Zero))), Pos(Succ(Zero))), y3, ty_Int),new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(Pos(new_primDivNatS1(x0, Succ(Zero))), Pos(Succ(Zero))), y3, ty_Int)) ---------------------------------------- (300) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(Pos(new_primDivNatS1(x0, Succ(Zero))), Pos(Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (301) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_ms3(Pos(new_primDivNatS1(x0, Succ(Zero))), Pos(Succ(Zero))), y3, ty_Int) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int),new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int)) ---------------------------------------- (302) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (303) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y1, Pos(Succ(Succ(x0))), y0, y3, ty_Int) at position [0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS02(Zero, Zero), Succ(Zero))), y1, Pos(Succ(Succ(Zero))), y0, y3, ty_Int),new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS02(Zero, Zero), Succ(Zero))), y1, Pos(Succ(Succ(Zero))), y0, y3, ty_Int)) (new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS02(Succ(x2), Zero), Succ(Zero))), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int),new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS02(Succ(x2), Zero), Succ(Zero))), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int)) ---------------------------------------- (304) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS02(Zero, Zero), Succ(Zero))), y1, Pos(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS02(Succ(x2), Zero), Succ(Zero))), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (305) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS02(Zero, Zero), Succ(Zero))), y1, Pos(Succ(Succ(Zero))), y0, y3, ty_Int) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Succ(Zero))), y1, Pos(Succ(Succ(Zero))), y0, y3, ty_Int),new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Succ(Zero))), y1, Pos(Succ(Succ(Zero))), y0, y3, ty_Int)) ---------------------------------------- (306) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS02(Succ(x2), Zero), Succ(Zero))), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Succ(Zero))), y1, Pos(Succ(Succ(Zero))), y0, y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (307) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS02(Succ(x2), Zero), Succ(Zero))), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Succ(Zero))), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int),new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Succ(Zero))), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int)) ---------------------------------------- (308) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Succ(Zero))), y1, Pos(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Succ(Zero))), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (309) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Succ(Zero))), y1, Pos(Succ(Succ(Zero))), y0, y3, ty_Int) at position [0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Zero))), y0, y3, ty_Int),new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Zero))), y0, y3, ty_Int)) ---------------------------------------- (310) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Succ(Zero))), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Zero))), y0, y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (311) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Succ(Zero))), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) at position [0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int),new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int)) ---------------------------------------- (312) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (313) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Zero))), y0, y3, ty_Int) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Zero, Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Zero))), y0, y3, ty_Int),new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Zero, Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Zero))), y0, y3, ty_Int)) ---------------------------------------- (314) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Zero, Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Zero))), y0, y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (315) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int),new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int)) ---------------------------------------- (316) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Zero, Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (317) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Zero, Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Zero))), y0, y3, ty_Int) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(Zero, Zero)), y1, Pos(Succ(Succ(Zero))), y0, y3, ty_Int),new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(Zero, Zero)), y1, Pos(Succ(Succ(Zero))), y0, y3, ty_Int)) ---------------------------------------- (318) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(Zero, Zero)), y1, Pos(Succ(Succ(Zero))), y0, y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (319) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(Zero, Zero)), y1, Pos(Succ(Succ(Zero))), y0, y3, ty_Int) at position [0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Pos(Zero)), y1, Pos(Succ(Succ(Zero))), y0, y3, ty_Int),new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Pos(Zero)), y1, Pos(Succ(Succ(Zero))), y0, y3, ty_Int)) ---------------------------------------- (320) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(Pos(Zero)), y1, Pos(Succ(Succ(Zero))), y0, y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (321) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. ---------------------------------------- (322) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (323) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G10(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) at position [2,0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS02(Zero, Zero)), y3, ty_Int),new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS02(Zero, Zero)), y3, ty_Int)) (new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS02(Succ(x2), Zero)), y3, ty_Int),new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS02(Succ(x2), Zero)), y3, ty_Int)) ---------------------------------------- (324) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS02(Zero, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS02(Succ(x2), Zero)), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (325) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (326) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS02(Succ(x2), Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (327) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(new_primDivNatS02(Succ(x2), Zero)), y3, ty_Int) at position [2,0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), y3, ty_Int),new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), y3, ty_Int)) ---------------------------------------- (328) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (329) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), y3, ty_Int) at position [2,0,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int),new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int)) ---------------------------------------- (330) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (331) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F30(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F30(False, y0, Neg(Succ(Succ(x0))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(x0))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y3, ty_Int),new_pr2F30(False, y0, Neg(Succ(Succ(x0))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(x0))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y3, ty_Int)) (new_pr2F30(False, y0, Neg(Succ(Zero)), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Zero)), new_primEvenNat0(new_primPlusNat0(Zero, Succ(Zero))), y3, ty_Int),new_pr2F30(False, y0, Neg(Succ(Zero)), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Zero)), new_primEvenNat0(new_primPlusNat0(Zero, Succ(Zero))), y3, ty_Int)) (new_pr2F30(False, y0, Neg(Zero), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Zero), new_primEvenNat0(new_primPlusNat0(Zero, Succ(Zero))), y3, ty_Int),new_pr2F30(False, y0, Neg(Zero), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Zero), new_primEvenNat0(new_primPlusNat0(Zero, Succ(Zero))), y3, ty_Int)) ---------------------------------------- (332) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(x0))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(x0))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Zero)), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Zero)), new_primEvenNat0(new_primPlusNat0(Zero, Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Neg(Zero), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Zero), new_primEvenNat0(new_primPlusNat0(Zero, Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (333) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. ---------------------------------------- (334) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F30(False, y0, Neg(Succ(Succ(x0))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(x0))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (335) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F30(False, y0, Neg(Succ(Succ(x0))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(x0))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y3, ty_Int) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS02(Zero, Zero), Succ(Zero))), y3, ty_Int),new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS02(Zero, Zero), Succ(Zero))), y3, ty_Int)) (new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS02(Succ(x2), Zero), Succ(Zero))), y3, ty_Int),new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS02(Succ(x2), Zero), Succ(Zero))), y3, ty_Int)) ---------------------------------------- (336) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS02(Zero, Zero), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS02(Succ(x2), Zero), Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (337) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS02(Zero, Zero), Succ(Zero))), y3, ty_Int) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), new_primEvenNat0(new_primPlusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Succ(Zero))), y3, ty_Int),new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), new_primEvenNat0(new_primPlusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Succ(Zero))), y3, ty_Int)) ---------------------------------------- (338) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS02(Succ(x2), Zero), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), new_primEvenNat0(new_primPlusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (339) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS02(Succ(x2), Zero), Succ(Zero))), y3, ty_Int) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Succ(Zero))), y3, ty_Int),new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Succ(Zero))), y3, ty_Int)) ---------------------------------------- (340) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), new_primEvenNat0(new_primPlusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (341) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), new_primEvenNat0(new_primPlusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Succ(Zero))), y3, ty_Int) at position [3,0] we obtained the following new rules [LPAR04]: (new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), new_primEvenNat0(Succ(Succ(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)), Zero)))), y3, ty_Int),new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), new_primEvenNat0(Succ(Succ(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)), Zero)))), y3, ty_Int)) ---------------------------------------- (342) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), new_primEvenNat0(Succ(Succ(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)), Zero)))), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (343) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Succ(Zero))), y3, ty_Int) at position [3,0] we obtained the following new rules [LPAR04]: (new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(Succ(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)), Zero)))), y3, ty_Int),new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(Succ(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)), Zero)))), y3, ty_Int)) ---------------------------------------- (344) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), new_primEvenNat0(Succ(Succ(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)), Zero)))), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(Succ(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)), Zero)))), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (345) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), new_primEvenNat0(Succ(Succ(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)), Zero)))), y3, ty_Int) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)), Zero)), y3, ty_Int),new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)), Zero)), y3, ty_Int)) ---------------------------------------- (346) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(Succ(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)), Zero)))), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)), Zero)), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (347) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(Succ(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)), Zero)))), y3, ty_Int) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)), Zero)), y3, ty_Int),new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)), Zero)), y3, ty_Int)) ---------------------------------------- (348) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)), Zero)), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (349) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)), Zero)), y3, ty_Int) at position [3,0,0,0] we obtained the following new rules [LPAR04]: (new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Zero, Succ(Zero)), Zero)), y3, ty_Int),new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Zero, Succ(Zero)), Zero)), y3, ty_Int)) ---------------------------------------- (350) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Zero, Succ(Zero)), Zero)), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (351) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)), Zero)), y3, ty_Int) at position [3,0,0,0] we obtained the following new rules [LPAR04]: (new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int),new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int)) ---------------------------------------- (352) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Zero, Succ(Zero)), Zero)), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (353) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Zero, Succ(Zero)), Zero)), y3, ty_Int) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), new_primEvenNat0(new_primPlusNat0(Zero, Zero)), y3, ty_Int),new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), new_primEvenNat0(new_primPlusNat0(Zero, Zero)), y3, ty_Int)) ---------------------------------------- (354) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), new_primEvenNat0(new_primPlusNat0(Zero, Zero)), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (355) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), new_primEvenNat0(new_primPlusNat0(Zero, Zero)), y3, ty_Int) at position [3,0] we obtained the following new rules [LPAR04]: (new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), new_primEvenNat0(Zero), y3, ty_Int),new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), new_primEvenNat0(Zero), y3, ty_Int)) ---------------------------------------- (356) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), new_primEvenNat0(Zero), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (357) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), new_primEvenNat0(Zero), y3, ty_Int) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), True, y3, ty_Int),new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), True, y3, ty_Int)) ---------------------------------------- (358) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), True, y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (359) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G11(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_quot0(x0), Pos(Succ(Zero))), y3, ty_Int) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G11(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(Neg(new_primDivNatS2(x0)), Pos(Succ(Zero))), y3, ty_Int),new_pr2F0G11(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(Neg(new_primDivNatS2(x0)), Pos(Succ(Zero))), y3, ty_Int)) (new_pr2F0G11(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_primQuotInt(x0, Pos(Succ(Succ(Zero)))), Pos(Succ(Zero))), y3, ty_Int),new_pr2F0G11(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_primQuotInt(x0, Pos(Succ(Succ(Zero)))), Pos(Succ(Zero))), y3, ty_Int)) ---------------------------------------- (360) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), True, y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(Neg(new_primDivNatS2(x0)), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_primQuotInt(x0, Pos(Succ(Succ(Zero)))), Pos(Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_quot0(Neg(vyv2220)) -> Neg(new_primDivNatS2(vyv2220)) new_quot0(Pos(vyv2220)) -> new_primQuotInt(vyv2220, Pos(Succ(Succ(Zero)))) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (361) 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. ---------------------------------------- (362) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), True, y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(Neg(new_primDivNatS2(x0)), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_primQuotInt(x0, Pos(Succ(Succ(Zero)))), Pos(Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_quot0(Pos(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_quot0(Neg(x0)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (363) 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_quot0(Pos(x0)) new_quot0(Neg(x0)) ---------------------------------------- (364) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), True, y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(Neg(new_primDivNatS2(x0)), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_primQuotInt(x0, Pos(Succ(Succ(Zero)))), Pos(Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (365) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G11(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(Neg(new_primDivNatS2(x0)), Pos(Succ(Zero))), y3, ty_Int) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G11(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int),new_pr2F0G11(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int)) ---------------------------------------- (366) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), True, y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_primQuotInt(x0, Pos(Succ(Succ(Zero)))), Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (367) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G11(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(new_primQuotInt(x0, Pos(Succ(Succ(Zero)))), Pos(Succ(Zero))), y3, ty_Int) at position [2,0] we obtained the following new rules [LPAR04]: (new_pr2F0G11(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(Pos(new_primDivNatS1(x0, Succ(Zero))), Pos(Succ(Zero))), y3, ty_Int),new_pr2F0G11(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(Pos(new_primDivNatS1(x0, Succ(Zero))), Pos(Succ(Zero))), y3, ty_Int)) ---------------------------------------- (368) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), True, y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(Pos(new_primDivNatS1(x0, Succ(Zero))), Pos(Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (369) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G11(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_ms3(Pos(new_primDivNatS1(x0, Succ(Zero))), Pos(Succ(Zero))), y3, ty_Int) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G11(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int),new_pr2F0G11(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int)) ---------------------------------------- (370) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), True, y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) The TRS R consists of the following rules: new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (371) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G0(y0, y1, Pos(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Succ(Zero))), y0, Pos(x0), y1, y3, ty_Int) at position [0] we obtained the following new rules [LPAR04]: (new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int),new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int)) (new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(Succ(Zero))), y0, Pos(Zero), y1, y3, ty_Int),new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(Succ(Zero))), y0, Pos(Zero), y1, y3, ty_Int)) ---------------------------------------- (372) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), True, y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(Succ(Zero))), y0, Pos(Zero), y1, y3, ty_Int) The TRS R consists of the following rules: new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (373) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(Succ(Zero))), y0, Pos(Zero), y1, y3, ty_Int) at position [0] we obtained the following new rules [LPAR04]: (new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(new_primEqInt(Neg(Succ(Zero))), y0, Pos(Zero), y1, y3, ty_Int),new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(new_primEqInt(Neg(Succ(Zero))), y0, Pos(Zero), y1, y3, ty_Int)) ---------------------------------------- (374) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), True, y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(new_primEqInt(Neg(Succ(Zero))), y0, Pos(Zero), y1, y3, ty_Int) The TRS R consists of the following rules: new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (375) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(new_primEqInt(Neg(Succ(Zero))), y0, Pos(Zero), y1, y3, ty_Int) at position [0] we obtained the following new rules [LPAR04]: (new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int),new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int)) ---------------------------------------- (376) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), True, y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int) The TRS R consists of the following rules: new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (377) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F3(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(x0), new_even2(new_primMinusNat0(x0, Succ(Zero))), y3, ty_Int) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F3(False, y0, Pos(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(x0)), new_even2(new_primMinusNat0(x0, Zero)), y3, ty_Int),new_pr2F3(False, y0, Pos(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(x0)), new_even2(new_primMinusNat0(x0, Zero)), y3, ty_Int)) (new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), new_even2(Neg(Succ(Zero))), y3, ty_Int),new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), new_even2(Neg(Succ(Zero))), y3, ty_Int)) ---------------------------------------- (378) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), True, y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(x0)), new_even2(new_primMinusNat0(x0, Zero)), y3, ty_Int) new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), new_even2(Neg(Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (379) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), new_even2(Neg(Succ(Zero))), y3, ty_Int) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), new_primEvenNat0(Succ(Zero)), y3, ty_Int),new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), new_primEvenNat0(Succ(Zero)), y3, ty_Int)) ---------------------------------------- (380) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), True, y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(x0)), new_even2(new_primMinusNat0(x0, Zero)), y3, ty_Int) new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), new_primEvenNat0(Succ(Zero)), y3, ty_Int) The TRS R consists of the following rules: new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (381) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), new_primEvenNat0(Succ(Zero)), y3, ty_Int) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), False, y3, ty_Int),new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), False, y3, ty_Int)) ---------------------------------------- (382) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), True, y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(x0)), new_even2(new_primMinusNat0(x0, Zero)), y3, ty_Int) new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), False, y3, ty_Int) The TRS R consists of the following rules: new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (383) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G1(y0, y1, x0, False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G1(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int),new_pr2F0G1(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int)) (new_pr2F0G1(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int),new_pr2F0G1(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int)) ---------------------------------------- (384) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), True, y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(x0)), new_even2(new_primMinusNat0(x0, Zero)), y3, ty_Int) new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (385) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G0(y0, y1, Neg(x0), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(new_primPlusNat0(x0, Succ(Zero)))), y0, Neg(x0), y1, y3, ty_Int) at position [0] we obtained the following new rules [LPAR04]: (new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(Succ(Succ(new_primPlusNat0(x0, Zero))))), y0, Neg(Succ(x0)), y1, y3, ty_Int),new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(Succ(Succ(new_primPlusNat0(x0, Zero))))), y0, Neg(Succ(x0)), y1, y3, ty_Int)) (new_pr2F0G0(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(Succ(Zero))), y0, Neg(Zero), y1, y3, ty_Int),new_pr2F0G0(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(Succ(Zero))), y0, Neg(Zero), y1, y3, ty_Int)) ---------------------------------------- (386) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), True, y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(x0)), new_even2(new_primMinusNat0(x0, Zero)), y3, ty_Int) new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(Succ(Succ(new_primPlusNat0(x0, Zero))))), y0, Neg(Succ(x0)), y1, y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(Succ(Zero))), y0, Neg(Zero), y1, y3, ty_Int) The TRS R consists of the following rules: new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (387) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(Succ(Succ(new_primPlusNat0(x0, Zero))))), y0, Neg(Succ(x0)), y1, y3, ty_Int) at position [0] we obtained the following new rules [LPAR04]: (new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_primEqInt(Neg(Succ(Succ(new_primPlusNat0(x0, Zero))))), y0, Neg(Succ(x0)), y1, y3, ty_Int),new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_primEqInt(Neg(Succ(Succ(new_primPlusNat0(x0, Zero))))), y0, Neg(Succ(x0)), y1, y3, ty_Int)) ---------------------------------------- (388) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), True, y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(x0)), new_even2(new_primMinusNat0(x0, Zero)), y3, ty_Int) new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(Succ(Zero))), y0, Neg(Zero), y1, y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_primEqInt(Neg(Succ(Succ(new_primPlusNat0(x0, Zero))))), y0, Neg(Succ(x0)), y1, y3, ty_Int) The TRS R consists of the following rules: new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (389) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G0(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F3(new_esEs0(Neg(Succ(Zero))), y0, Neg(Zero), y1, y3, ty_Int) at position [0] we obtained the following new rules [LPAR04]: (new_pr2F0G0(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F3(new_primEqInt(Neg(Succ(Zero))), y0, Neg(Zero), y1, y3, ty_Int),new_pr2F0G0(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F3(new_primEqInt(Neg(Succ(Zero))), y0, Neg(Zero), y1, y3, ty_Int)) ---------------------------------------- (390) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), True, y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(x0)), new_even2(new_primMinusNat0(x0, Zero)), y3, ty_Int) new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_primEqInt(Neg(Succ(Succ(new_primPlusNat0(x0, Zero))))), y0, Neg(Succ(x0)), y1, y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F3(new_primEqInt(Neg(Succ(Zero))), y0, Neg(Zero), y1, y3, ty_Int) The TRS R consists of the following rules: new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (391) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_primEqInt(Neg(Succ(Succ(new_primPlusNat0(x0, Zero))))), y0, Neg(Succ(x0)), y1, y3, ty_Int) at position [0] we obtained the following new rules [LPAR04]: (new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Succ(x0)), y1, y3, ty_Int),new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Succ(x0)), y1, y3, ty_Int)) ---------------------------------------- (392) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), True, y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(x0)), new_even2(new_primMinusNat0(x0, Zero)), y3, ty_Int) new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F3(new_primEqInt(Neg(Succ(Zero))), y0, Neg(Zero), y1, y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Succ(x0)), y1, y3, ty_Int) The TRS R consists of the following rules: new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (393) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G0(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F3(new_primEqInt(Neg(Succ(Zero))), y0, Neg(Zero), y1, y3, ty_Int) at position [0] we obtained the following new rules [LPAR04]: (new_pr2F0G0(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Zero), y1, y3, ty_Int),new_pr2F0G0(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Zero), y1, y3, ty_Int)) ---------------------------------------- (394) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), True, y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(x0)), new_even2(new_primMinusNat0(x0, Zero)), y3, ty_Int) new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Succ(x0)), y1, y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Zero), y1, y3, ty_Int) The TRS R consists of the following rules: new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (395) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F3(False, y0, Neg(x0), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(x0), new_primEvenNat0(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F3(False, y0, Neg(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(x0)), new_primEvenNat0(Succ(Succ(new_primPlusNat0(x0, Zero)))), y3, ty_Int),new_pr2F3(False, y0, Neg(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(x0)), new_primEvenNat0(Succ(Succ(new_primPlusNat0(x0, Zero)))), y3, ty_Int)) (new_pr2F3(False, y0, Neg(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Zero), new_primEvenNat0(Succ(Zero)), y3, ty_Int),new_pr2F3(False, y0, Neg(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Zero), new_primEvenNat0(Succ(Zero)), y3, ty_Int)) ---------------------------------------- (396) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), True, y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(x0)), new_even2(new_primMinusNat0(x0, Zero)), y3, ty_Int) new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Succ(x0)), y1, y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(x0)), new_primEvenNat0(Succ(Succ(new_primPlusNat0(x0, Zero)))), y3, ty_Int) new_pr2F3(False, y0, Neg(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Zero), new_primEvenNat0(Succ(Zero)), y3, ty_Int) The TRS R consists of the following rules: new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (397) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F3(False, y0, Neg(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(x0)), new_primEvenNat0(Succ(Succ(new_primPlusNat0(x0, Zero)))), y3, ty_Int) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F3(False, y0, Neg(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(x0)), new_primEvenNat0(new_primPlusNat0(x0, Zero)), y3, ty_Int),new_pr2F3(False, y0, Neg(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(x0)), new_primEvenNat0(new_primPlusNat0(x0, Zero)), y3, ty_Int)) ---------------------------------------- (398) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), True, y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(x0)), new_even2(new_primMinusNat0(x0, Zero)), y3, ty_Int) new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Succ(x0)), y1, y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Zero), new_primEvenNat0(Succ(Zero)), y3, ty_Int) new_pr2F3(False, y0, Neg(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(x0)), new_primEvenNat0(new_primPlusNat0(x0, Zero)), y3, ty_Int) The TRS R consists of the following rules: new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (399) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F3(False, y0, Neg(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Zero), new_primEvenNat0(Succ(Zero)), y3, ty_Int) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F3(False, y0, Neg(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Zero), False, y3, ty_Int),new_pr2F3(False, y0, Neg(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Zero), False, y3, ty_Int)) ---------------------------------------- (400) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), True, y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(x0)), new_even2(new_primMinusNat0(x0, Zero)), y3, ty_Int) new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Succ(x0)), y1, y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(x0)), new_primEvenNat0(new_primPlusNat0(x0, Zero)), y3, ty_Int) new_pr2F3(False, y0, Neg(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Zero), False, y3, ty_Int) The TRS R consists of the following rules: new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (401) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G1(y0, y1, x0, True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_ms3(x0, Pos(Succ(Zero))), y3, ty_Int) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G1(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int),new_pr2F0G1(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int)) (new_pr2F0G1(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int),new_pr2F0G1(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int)) ---------------------------------------- (402) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), True, y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(x0)), new_even2(new_primMinusNat0(x0, Zero)), y3, ty_Int) new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Succ(x0)), y1, y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(x0)), new_primEvenNat0(new_primPlusNat0(x0, Zero)), y3, ty_Int) new_pr2F3(False, y0, Neg(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (403) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. ---------------------------------------- (404) Complex Obligation (AND) ---------------------------------------- (405) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), True, y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(x0)), new_primEvenNat0(new_primPlusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (406) 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. ---------------------------------------- (407) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), True, y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(x0)), new_primEvenNat0(new_primPlusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) 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(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (408) 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_even2(Neg(x0)) new_even2(Pos(x0)) new_primMinusNat0(Zero, Zero) new_primMinusNat0(Zero, Succ(x0)) new_ms3(Pos(x0), Pos(x1)) new_ms3(Neg(x0), Neg(x1)) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMinusNat0(Succ(x0), Zero) new_ms3(Pos(x0), Neg(x1)) new_ms3(Neg(x0), Pos(x1)) ---------------------------------------- (409) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), True, y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(x0)), new_primEvenNat0(new_primPlusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) 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(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (410) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G11(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) at position [2,0] we obtained the following new rules [LPAR04]: (new_pr2F0G11(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y3, ty_Int),new_pr2F0G11(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y3, ty_Int)) (new_pr2F0G11(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(Zero, Succ(Zero))), y3, ty_Int),new_pr2F0G11(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(Zero, Succ(Zero))), y3, ty_Int)) (new_pr2F0G11(y0, y1, Neg(Zero), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(Zero, Succ(Zero))), y3, ty_Int),new_pr2F0G11(y0, y1, Neg(Zero), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(Zero, Succ(Zero))), y3, ty_Int)) ---------------------------------------- (411) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), True, y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(x0)), new_primEvenNat0(new_primPlusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(Zero, Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Zero), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(Zero, Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) 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(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (412) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. ---------------------------------------- (413) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(x0)), new_primEvenNat0(new_primPlusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), True, y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) 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(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (414) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G11(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS2(x0), Succ(Zero))), y3, ty_Int) at position [2,0] we obtained the following new rules [LPAR04]: (new_pr2F0G11(y0, y1, Neg(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y3, ty_Int),new_pr2F0G11(y0, y1, Neg(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y3, ty_Int)) (new_pr2F0G11(y0, y1, Neg(Succ(Zero)), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(Zero, Succ(Zero))), y3, ty_Int),new_pr2F0G11(y0, y1, Neg(Succ(Zero)), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(Zero, Succ(Zero))), y3, ty_Int)) (new_pr2F0G11(y0, y1, Neg(Zero), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(Zero, Succ(Zero))), y3, ty_Int),new_pr2F0G11(y0, y1, Neg(Zero), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(Zero, Succ(Zero))), y3, ty_Int)) ---------------------------------------- (415) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(x0)), new_primEvenNat0(new_primPlusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), True, y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Zero)), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(Zero, Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Zero), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(Zero, Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) 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(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (416) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. ---------------------------------------- (417) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(x0)), new_primEvenNat0(new_primPlusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) 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(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (418) 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. ---------------------------------------- (419) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(x0)), new_primEvenNat0(new_primPlusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) The TRS R consists of the following rules: new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (420) 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_primDivNatS2(Zero) new_primDivNatS2(Succ(Zero)) new_primDivNatS2(Succ(Succ(x0))) ---------------------------------------- (421) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(x0)), new_primEvenNat0(new_primPlusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) The TRS R consists of the following rules: new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (422) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G11(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y3, ty_Int) at position [2,0] we obtained the following new rules [LPAR04]: (new_pr2F0G11(y0, y1, Neg(Succ(Succ(Zero))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS02(Zero, Zero), Succ(Zero))), y3, ty_Int),new_pr2F0G11(y0, y1, Neg(Succ(Succ(Zero))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS02(Zero, Zero), Succ(Zero))), y3, ty_Int)) (new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS02(Succ(x2), Zero), Succ(Zero))), y3, ty_Int),new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS02(Succ(x2), Zero), Succ(Zero))), y3, ty_Int)) ---------------------------------------- (423) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(x0)), new_primEvenNat0(new_primPlusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Zero))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS02(Zero, Zero), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS02(Succ(x2), Zero), Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (424) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G11(y0, y1, Neg(Succ(Succ(Zero))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS02(Zero, Zero), Succ(Zero))), y3, ty_Int) at position [2,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G11(y0, y1, Neg(Succ(Succ(Zero))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Succ(Zero))), y3, ty_Int),new_pr2F0G11(y0, y1, Neg(Succ(Succ(Zero))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Succ(Zero))), y3, ty_Int)) ---------------------------------------- (425) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(x0)), new_primEvenNat0(new_primPlusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS02(Succ(x2), Zero), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Zero))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (426) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(new_primDivNatS02(Succ(x2), Zero), Succ(Zero))), y3, ty_Int) at position [2,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Succ(Zero))), y3, ty_Int),new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Succ(Zero))), y3, ty_Int)) ---------------------------------------- (427) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(x0)), new_primEvenNat0(new_primPlusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Zero))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (428) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G11(y0, y1, Neg(Succ(Succ(Zero))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Succ(Zero))), y3, ty_Int) at position [2,0] we obtained the following new rules [LPAR04]: (new_pr2F0G11(y0, y1, Neg(Succ(Succ(Zero))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)), Zero)))), y3, ty_Int),new_pr2F0G11(y0, y1, Neg(Succ(Succ(Zero))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)), Zero)))), y3, ty_Int)) ---------------------------------------- (429) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(x0)), new_primEvenNat0(new_primPlusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Zero))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)), Zero)))), y3, ty_Int) The TRS R consists of the following rules: new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (430) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(new_primPlusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Succ(Zero))), y3, ty_Int) at position [2,0] we obtained the following new rules [LPAR04]: (new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)), Zero)))), y3, ty_Int),new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)), Zero)))), y3, ty_Int)) ---------------------------------------- (431) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(x0)), new_primEvenNat0(new_primPlusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Zero))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)), Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)), Zero)))), y3, ty_Int) The TRS R consists of the following rules: new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (432) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G11(y0, y1, Neg(Succ(Succ(Zero))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)), Zero)))), y3, ty_Int) at position [2,0,0,0,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G11(y0, y1, Neg(Succ(Succ(Zero))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Zero, Succ(Zero)), Zero)))), y3, ty_Int),new_pr2F0G11(y0, y1, Neg(Succ(Succ(Zero))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Zero, Succ(Zero)), Zero)))), y3, ty_Int)) ---------------------------------------- (433) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(x0)), new_primEvenNat0(new_primPlusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)), Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Zero))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Zero, Succ(Zero)), Zero)))), y3, ty_Int) The TRS R consists of the following rules: new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (434) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)), Zero)))), y3, ty_Int) at position [2,0,0,0,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)))), y3, ty_Int),new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)))), y3, ty_Int)) ---------------------------------------- (435) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(x0)), new_primEvenNat0(new_primPlusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Zero))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Zero, Succ(Zero)), Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)))), y3, ty_Int) The TRS R consists of the following rules: new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (436) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G11(y0, y1, Neg(Succ(Succ(Zero))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Zero, Succ(Zero)), Zero)))), y3, ty_Int) at position [2,0,0,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G11(y0, y1, Neg(Succ(Succ(Zero))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(new_primPlusNat0(Zero, Zero)))), y3, ty_Int),new_pr2F0G11(y0, y1, Neg(Succ(Succ(Zero))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(new_primPlusNat0(Zero, Zero)))), y3, ty_Int)) ---------------------------------------- (437) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(x0)), new_primEvenNat0(new_primPlusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Zero))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(new_primPlusNat0(Zero, Zero)))), y3, ty_Int) The TRS R consists of the following rules: new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (438) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G11(y0, y1, Neg(Succ(Succ(Zero))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(new_primPlusNat0(Zero, Zero)))), y3, ty_Int) at position [2,0,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G11(y0, y1, Neg(Succ(Succ(Zero))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(Zero))), y3, ty_Int),new_pr2F0G11(y0, y1, Neg(Succ(Succ(Zero))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(Zero))), y3, ty_Int)) ---------------------------------------- (439) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(x0)), new_primEvenNat0(new_primPlusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Zero))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (440) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. ---------------------------------------- (441) Complex Obligation (AND) ---------------------------------------- (442) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), True, y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Zero))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) The TRS R consists of the following rules: new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (443) 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. ---------------------------------------- (444) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), True, y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Zero))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) The TRS R consists of the following rules: new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) The set Q consists of the following terms: new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (445) 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_sr2(x0, ty_Integer) new_sr9(x0, x1) new_sr0(x0, x1, ty_Int) new_sr(x0, x1, ty_Integer) new_sr0(x0, x1, ty_Double) new_sr1(x0, ty_Int) new_sr8(x0, x1) new_primEvenNat0(Succ(Succ(x0))) new_sr1(x0, ty_Double) new_primEvenNat0(Zero) new_sr1(Integer(x0), ty_Integer) new_primEvenNat0(Succ(Zero)) new_sr0(x0, x1, ty_Float) new_sr11(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_sr7(x0) new_sr1(x0, ty_Float) new_sr(x0, x1, ty_Float) new_sr(x0, x1, ty_Double) new_sr19(:%(x0, x1), x2) new_sr2(x0, ty_Double) new_sr18(x0) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_sr2(x0, ty_Int) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) ---------------------------------------- (446) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), True, y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Zero))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) The TRS R consists of the following rules: new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) The set Q consists of the following terms: new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_primMulDouble0(x0) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_error(x0) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMulNat0(Zero, Succ(x0)) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_primQuotInt(x0, Pos(Zero)) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (447) MNOCProof (EQUIVALENT) We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. ---------------------------------------- (448) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Zero))), True, y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Zero))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Zero))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) The TRS R consists of the following rules: new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (449) NonTerminationLoopProof (COMPLETE) We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. Found a loop by narrowing to the left: s = new_pr2F30(False, y0', Neg(Succ(Succ(Zero))), y2, y3', ty_Int) evaluates to t =new_pr2F30(False, new_sr3(y0', y3'), Neg(Succ(Succ(Zero))), new_sr4(y0', y2, y3'), y3', ty_Int) Thus s starts an infinite chain as s semiunifies with t with the following substitutions: * Matcher: [y0' / new_sr3(y0', y3'), y2 / new_sr4(y0', y2, y3')] * Semiunifier: [ ] -------------------------------------------------------------------------------- Rewriting sequence new_pr2F30(False, y0', Neg(Succ(Succ(Zero))), y2, y3', ty_Int) -> new_pr2F0G11(y0', y2, Neg(Succ(Succ(Zero))), True, y3', ty_Int) with rule new_pr2F30(False, y0'', Neg(Succ(Succ(Zero))), y2', y3'', ty_Int) -> new_pr2F0G11(y0'', y2', Neg(Succ(Succ(Zero))), True, y3'', ty_Int) at position [] and matcher [y0'' / y0', y2' / y2, y3'' / y3'] new_pr2F0G11(y0', y2, Neg(Succ(Succ(Zero))), True, y3', ty_Int) -> new_pr2F0G(new_sr4(y0', y2, y3'), new_sr3(y0', y3'), Neg(Succ(Succ(Zero))), y3', ty_Int) with rule new_pr2F0G11(y0, y1, Neg(Succ(Succ(Zero))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(Zero))), y3, ty_Int) at position [] and matcher [y0 / y0', y1 / y2, y3 / y3'] new_pr2F0G(new_sr4(y0', y2, y3'), new_sr3(y0', y3'), Neg(Succ(Succ(Zero))), y3', ty_Int) -> new_pr2F0G10(new_sr4(y0', y2, y3'), new_sr3(y0', y3'), Neg(Succ(Succ(Zero))), False, y3', ty_Int) with rule new_pr2F0G(y0'', y1', Neg(Succ(Succ(Zero))), y3'', ty_Int) -> new_pr2F0G10(y0'', y1', Neg(Succ(Succ(Zero))), False, y3'', ty_Int) at position [] and matcher [y0'' / new_sr4(y0', y2, y3'), y1' / new_sr3(y0', y3'), y3'' / y3'] new_pr2F0G10(new_sr4(y0', y2, y3'), new_sr3(y0', y3'), Neg(Succ(Succ(Zero))), False, y3', ty_Int) -> new_pr2F30(False, new_sr3(y0', y3'), Neg(Succ(Succ(Zero))), new_sr4(y0', y2, y3'), y3', ty_Int) with rule new_pr2F0G10(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Zero))), y0, y3, ty_Int) Now applying the matcher to the start term leads to a term which is equal to the last term in the rewriting sequence All these steps are and every following step will be a correct step w.r.t to Q. ---------------------------------------- (450) NO ---------------------------------------- (451) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(x0)), new_primEvenNat0(new_primPlusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)))), y3, ty_Int) The TRS R consists of the following rules: new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (452) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G11(y0, y1, Neg(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y3, ty_Int) at position [2,0] we obtained the following new rules [LPAR04]: (new_pr2F0G11(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS02(Zero, Zero), Succ(Zero))), y3, ty_Int),new_pr2F0G11(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS02(Zero, Zero), Succ(Zero))), y3, ty_Int)) (new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS02(Succ(x2), Zero), Succ(Zero))), y3, ty_Int),new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS02(Succ(x2), Zero), Succ(Zero))), y3, ty_Int)) ---------------------------------------- (453) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(x0)), new_primEvenNat0(new_primPlusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS02(Zero, Zero), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS02(Succ(x2), Zero), Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (454) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (455) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS02(Succ(x2), Zero), Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(x0)), new_primEvenNat0(new_primPlusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (456) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(new_primDivNatS02(Succ(x2), Zero), Succ(Zero))), y3, ty_Int) at position [2,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Succ(Zero))), y3, ty_Int),new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Succ(Zero))), y3, ty_Int)) ---------------------------------------- (457) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(x0)), new_primEvenNat0(new_primPlusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (458) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(new_primPlusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Succ(Zero))), y3, ty_Int) at position [2,0] we obtained the following new rules [LPAR04]: (new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)), Zero)))), y3, ty_Int),new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)), Zero)))), y3, ty_Int)) ---------------------------------------- (459) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(x0)), new_primEvenNat0(new_primPlusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)), Zero)))), y3, ty_Int) The TRS R consists of the following rules: new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (460) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)), Zero)))), y3, ty_Int) at position [2,0,0,0,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)))), y3, ty_Int),new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)))), y3, ty_Int)) ---------------------------------------- (461) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(x0)), new_primEvenNat0(new_primPlusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)))), y3, ty_Int) The TRS R consists of the following rules: new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (462) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F3(False, y0, Neg(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(x0)), new_primEvenNat0(new_primPlusNat0(x0, Zero)), y3, ty_Int) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F3(False, y0, Neg(Succ(Zero)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(Zero)), new_primEvenNat0(Zero), y3, ty_Int),new_pr2F3(False, y0, Neg(Succ(Zero)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(Zero)), new_primEvenNat0(Zero), y3, ty_Int)) (new_pr2F3(False, y0, Neg(Succ(Succ(x0))), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(Succ(x0))), new_primEvenNat0(Succ(x0)), y3, ty_Int),new_pr2F3(False, y0, Neg(Succ(Succ(x0))), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(Succ(x0))), new_primEvenNat0(Succ(x0)), y3, ty_Int)) ---------------------------------------- (463) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Succ(x0)), y1, y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)))), y3, ty_Int) new_pr2F3(False, y0, Neg(Succ(Zero)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(Zero)), new_primEvenNat0(Zero), y3, ty_Int) new_pr2F3(False, y0, Neg(Succ(Succ(x0))), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(Succ(x0))), new_primEvenNat0(Succ(x0)), y3, ty_Int) The TRS R consists of the following rules: new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (464) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F3(False, y0, Neg(Succ(Zero)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(Zero)), new_primEvenNat0(Zero), y3, ty_Int) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F3(False, y0, Neg(Succ(Zero)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(Zero)), True, y3, ty_Int),new_pr2F3(False, y0, Neg(Succ(Zero)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(Zero)), True, y3, ty_Int)) ---------------------------------------- (465) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Succ(x0)), y1, y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)))), y3, ty_Int) new_pr2F3(False, y0, Neg(Succ(Succ(x0))), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(Succ(x0))), new_primEvenNat0(Succ(x0)), y3, ty_Int) new_pr2F3(False, y0, Neg(Succ(Zero)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(Zero)), True, y3, ty_Int) The TRS R consists of the following rules: new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (466) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G1(y0, y1, Neg(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) at position [2,0] we obtained the following new rules [LPAR04]: (new_pr2F0G1(y0, y1, Neg(Succ(x0)), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(Succ(Succ(new_primPlusNat0(x0, Zero)))), y3, ty_Int),new_pr2F0G1(y0, y1, Neg(Succ(x0)), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(Succ(Succ(new_primPlusNat0(x0, Zero)))), y3, ty_Int)) (new_pr2F0G1(y0, y1, Neg(Zero), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(Succ(Zero)), y3, ty_Int),new_pr2F0G1(y0, y1, Neg(Zero), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(Succ(Zero)), y3, ty_Int)) ---------------------------------------- (467) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Succ(x0)), y1, y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)))), y3, ty_Int) new_pr2F3(False, y0, Neg(Succ(Succ(x0))), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(Succ(x0))), new_primEvenNat0(Succ(x0)), y3, ty_Int) new_pr2F3(False, y0, Neg(Succ(Zero)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G1(y0, y1, Neg(Succ(x0)), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(Succ(Succ(new_primPlusNat0(x0, Zero)))), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(Zero), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(Succ(Zero)), y3, ty_Int) The TRS R consists of the following rules: new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (468) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 3 less nodes. ---------------------------------------- (469) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Succ(Succ(x0))), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(Succ(x0))), new_primEvenNat0(Succ(x0)), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(Succ(x0)), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(Succ(Succ(new_primPlusNat0(x0, Zero)))), y3, ty_Int) new_pr2F3(False, y0, Neg(Succ(Zero)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) The TRS R consists of the following rules: new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (470) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G1(y0, y1, Neg(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(new_primPlusNat0(x0, Succ(Zero))), y3, ty_Int) at position [2,0] we obtained the following new rules [LPAR04]: (new_pr2F0G1(y0, y1, Neg(Succ(x0)), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(Succ(Succ(new_primPlusNat0(x0, Zero)))), y3, ty_Int),new_pr2F0G1(y0, y1, Neg(Succ(x0)), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(Succ(Succ(new_primPlusNat0(x0, Zero)))), y3, ty_Int)) (new_pr2F0G1(y0, y1, Neg(Zero), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(Succ(Zero)), y3, ty_Int),new_pr2F0G1(y0, y1, Neg(Zero), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(Succ(Zero)), y3, ty_Int)) ---------------------------------------- (471) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Succ(Succ(x0))), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(Succ(x0))), new_primEvenNat0(Succ(x0)), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(Succ(x0)), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(Succ(Succ(new_primPlusNat0(x0, Zero)))), y3, ty_Int) new_pr2F3(False, y0, Neg(Succ(Zero)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(Succ(x0)), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(Succ(Succ(new_primPlusNat0(x0, Zero)))), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(Zero), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(Succ(Zero)), y3, ty_Int) The TRS R consists of the following rules: new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (472) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (473) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Succ(Succ(x0))), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(Succ(x0))), new_primEvenNat0(Succ(x0)), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(Succ(x0)), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(Succ(Succ(new_primPlusNat0(x0, Zero)))), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(Succ(x0)), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(Succ(Succ(new_primPlusNat0(x0, Zero)))), y3, ty_Int) new_pr2F3(False, y0, Neg(Succ(Zero)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) The TRS R consists of the following rules: new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (474) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G1(y0, y1, Neg(Succ(x0)), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(Succ(Succ(new_primPlusNat0(x0, Zero)))), y3, ty_Int) at position [2,0,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G1(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(Succ(Succ(Zero))), y3, ty_Int),new_pr2F0G1(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(Succ(Succ(Zero))), y3, ty_Int)) (new_pr2F0G1(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(Succ(Succ(Succ(x0)))), y3, ty_Int),new_pr2F0G1(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(Succ(Succ(Succ(x0)))), y3, ty_Int)) ---------------------------------------- (475) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Succ(Succ(x0))), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(Succ(x0))), new_primEvenNat0(Succ(x0)), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(Succ(x0)), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(Succ(Succ(new_primPlusNat0(x0, Zero)))), y3, ty_Int) new_pr2F3(False, y0, Neg(Succ(Zero)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(Succ(Zero)), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(Succ(Succ(Zero))), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(Succ(Succ(Succ(x0)))), y3, ty_Int) The TRS R consists of the following rules: new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) 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 2 less nodes. ---------------------------------------- (477) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Succ(Succ(x0))), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(Succ(x0))), new_primEvenNat0(Succ(x0)), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(Succ(x0)), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(Succ(Succ(new_primPlusNat0(x0, Zero)))), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(Succ(Succ(Succ(x0)))), y3, ty_Int) The TRS R consists of the following rules: new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (478) MNOCProof (EQUIVALENT) We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. ---------------------------------------- (479) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Succ(Succ(x0))), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(Succ(x0))), new_primEvenNat0(Succ(x0)), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(Succ(x0)), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(Succ(Succ(new_primPlusNat0(x0, Zero)))), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(Succ(Succ(Succ(x0)))), y3, ty_Int) The TRS R consists of the following rules: new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (480) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) the following chains were created: *We consider the chain new_pr2F0G10(x4, x5, Neg(Succ(Succ(Succ(x6)))), False, x7, ty_Int) -> new_pr2F30(False, x5, Neg(Succ(Succ(Succ(x6)))), x4, x7, ty_Int), new_pr2F30(False, x8, Neg(Succ(Succ(Succ(x9)))), x10, x11, ty_Int) -> new_pr2F0G11(x8, x10, Neg(Succ(Succ(Succ(x9)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x9), Succ(Zero)), Zero)), x11, ty_Int) which results in the following constraint: (1) (new_pr2F30(False, x5, Neg(Succ(Succ(Succ(x6)))), x4, x7, ty_Int)=new_pr2F30(False, x8, Neg(Succ(Succ(Succ(x9)))), x10, x11, ty_Int) ==> new_pr2F0G10(x4, x5, Neg(Succ(Succ(Succ(x6)))), False, x7, ty_Int)_>=_new_pr2F30(False, x5, Neg(Succ(Succ(Succ(x6)))), x4, x7, ty_Int)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G10(x4, x5, Neg(Succ(Succ(Succ(x6)))), False, x7, ty_Int)_>=_new_pr2F30(False, x5, Neg(Succ(Succ(Succ(x6)))), x4, x7, ty_Int)) For Pair new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) the following chains were created: *We consider the chain new_pr2F30(False, x52, Neg(Succ(Succ(Succ(x53)))), x54, x55, ty_Int) -> new_pr2F0G11(x52, x54, Neg(Succ(Succ(Succ(x53)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x53), Succ(Zero)), Zero)), x55, ty_Int), new_pr2F0G11(x56, x57, Neg(Succ(Succ(Succ(x58)))), True, x59, ty_Int) -> new_pr2F0G(new_sr4(x56, x57, x59), new_sr3(x56, x59), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x58), Succ(Zero)), Zero)))), x59, ty_Int) which results in the following constraint: (1) (new_pr2F0G11(x52, x54, Neg(Succ(Succ(Succ(x53)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x53), Succ(Zero)), Zero)), x55, ty_Int)=new_pr2F0G11(x56, x57, Neg(Succ(Succ(Succ(x58)))), True, x59, ty_Int) ==> new_pr2F30(False, x52, Neg(Succ(Succ(Succ(x53)))), x54, x55, ty_Int)_>=_new_pr2F0G11(x52, x54, Neg(Succ(Succ(Succ(x53)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x53), Succ(Zero)), Zero)), x55, ty_Int)) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Zero=x454 & new_primPlusNat0(x453, x454)=x452 & new_primEvenNat0(x452)=True ==> new_pr2F30(False, x52, Neg(Succ(Succ(Succ(x53)))), x54, x55, ty_Int)_>=_new_pr2F0G11(x52, x54, Neg(Succ(Succ(Succ(x53)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x53), Succ(Zero)), Zero)), x55, ty_Int)) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEvenNat0(x452)=True which results in the following new constraints: (3) (True=True & Zero=x454 & new_primPlusNat0(x453, x454)=Zero ==> new_pr2F30(False, x52, Neg(Succ(Succ(Succ(x53)))), x54, x55, ty_Int)_>=_new_pr2F0G11(x52, x54, Neg(Succ(Succ(Succ(x53)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x53), Succ(Zero)), Zero)), x55, ty_Int)) (4) (new_primEvenNat0(x457)=True & Zero=x454 & new_primPlusNat0(x453, x454)=Succ(Succ(x457)) & (\/x458,x459,x460,x461,x462,x463:new_primEvenNat0(x457)=True & Zero=x458 & new_primPlusNat0(x459, x458)=x457 ==> new_pr2F30(False, x460, Neg(Succ(Succ(Succ(x461)))), x462, x463, ty_Int)_>=_new_pr2F0G11(x460, x462, Neg(Succ(Succ(Succ(x461)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x461), Succ(Zero)), Zero)), x463, ty_Int)) ==> new_pr2F30(False, x52, Neg(Succ(Succ(Succ(x53)))), x54, x55, ty_Int)_>=_new_pr2F0G11(x52, x54, Neg(Succ(Succ(Succ(x53)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x53), Succ(Zero)), Zero)), x55, ty_Int)) We simplified constraint (3) using rules (I), (II) which results in the following new constraint: (5) (Zero=x454 & new_primPlusNat0(x453, x454)=Zero ==> new_pr2F30(False, x52, Neg(Succ(Succ(Succ(x53)))), x54, x55, ty_Int)_>=_new_pr2F0G11(x52, x54, Neg(Succ(Succ(Succ(x53)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x53), Succ(Zero)), Zero)), x55, ty_Int)) We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat0(x453, x454)=Succ(Succ(x457)) which results in the following new constraints: (6) (Succ(Succ(new_primPlusNat0(x469, x468)))=Succ(Succ(x457)) & new_primEvenNat0(x457)=True & Zero=Succ(x468) & (\/x458,x459,x460,x461,x462,x463:new_primEvenNat0(x457)=True & Zero=x458 & new_primPlusNat0(x459, x458)=x457 ==> new_pr2F30(False, x460, Neg(Succ(Succ(Succ(x461)))), x462, x463, ty_Int)_>=_new_pr2F0G11(x460, x462, Neg(Succ(Succ(Succ(x461)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x461), Succ(Zero)), Zero)), x463, ty_Int)) & (\/x470,x471,x472,x473,x474,x475,x476,x477,x478,x479,x480:new_primPlusNat0(x469, x468)=Succ(Succ(x470)) & new_primEvenNat0(x470)=True & Zero=x468 & (\/x471,x472,x473,x474,x475,x476:new_primEvenNat0(x470)=True & Zero=x471 & new_primPlusNat0(x472, x471)=x470 ==> new_pr2F30(False, x473, Neg(Succ(Succ(Succ(x474)))), x475, x476, ty_Int)_>=_new_pr2F0G11(x473, x475, Neg(Succ(Succ(Succ(x474)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x474), Succ(Zero)), Zero)), x476, ty_Int)) ==> new_pr2F30(False, x477, Neg(Succ(Succ(Succ(x478)))), x479, x480, ty_Int)_>=_new_pr2F0G11(x477, x479, Neg(Succ(Succ(Succ(x478)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x478), Succ(Zero)), Zero)), x480, ty_Int)) ==> new_pr2F30(False, x52, Neg(Succ(Succ(Succ(x53)))), x54, x55, ty_Int)_>=_new_pr2F0G11(x52, x54, Neg(Succ(Succ(Succ(x53)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x53), Succ(Zero)), Zero)), x55, ty_Int)) (7) (Succ(x481)=Succ(Succ(x457)) & new_primEvenNat0(x457)=True & Zero=Succ(x481) & (\/x458,x459,x460,x461,x462,x463:new_primEvenNat0(x457)=True & Zero=x458 & new_primPlusNat0(x459, x458)=x457 ==> new_pr2F30(False, x460, Neg(Succ(Succ(Succ(x461)))), x462, x463, ty_Int)_>=_new_pr2F0G11(x460, x462, Neg(Succ(Succ(Succ(x461)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x461), Succ(Zero)), Zero)), x463, ty_Int)) ==> new_pr2F30(False, x52, Neg(Succ(Succ(Succ(x53)))), x54, x55, ty_Int)_>=_new_pr2F0G11(x52, x54, Neg(Succ(Succ(Succ(x53)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x53), Succ(Zero)), Zero)), x55, ty_Int)) (8) (Succ(x482)=Succ(Succ(x457)) & new_primEvenNat0(x457)=True & Zero=Zero & (\/x458,x459,x460,x461,x462,x463:new_primEvenNat0(x457)=True & Zero=x458 & new_primPlusNat0(x459, x458)=x457 ==> new_pr2F30(False, x460, Neg(Succ(Succ(Succ(x461)))), x462, x463, ty_Int)_>=_new_pr2F0G11(x460, x462, Neg(Succ(Succ(Succ(x461)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x461), Succ(Zero)), Zero)), x463, ty_Int)) ==> new_pr2F30(False, x52, Neg(Succ(Succ(Succ(x53)))), x54, x55, ty_Int)_>=_new_pr2F0G11(x52, x54, Neg(Succ(Succ(Succ(x53)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x53), Succ(Zero)), Zero)), x55, ty_Int)) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat0(x453, x454)=Zero which results in the following new constraint: (9) (Zero=Zero ==> new_pr2F30(False, x52, Neg(Succ(Succ(Succ(x53)))), x54, x55, ty_Int)_>=_new_pr2F0G11(x52, x54, Neg(Succ(Succ(Succ(x53)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x53), Succ(Zero)), Zero)), x55, ty_Int)) We simplified constraint (9) using rules (I), (II) which results in the following new constraint: (10) (new_pr2F30(False, x52, Neg(Succ(Succ(Succ(x53)))), x54, x55, ty_Int)_>=_new_pr2F0G11(x52, x54, Neg(Succ(Succ(Succ(x53)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x53), Succ(Zero)), Zero)), x55, ty_Int)) We solved constraint (6) using rules (I), (II).We solved constraint (7) using rules (I), (II).We simplified constraint (8) using rules (I), (II), (III), (IV) which results in the following new constraint: (11) (new_primEvenNat0(x457)=True ==> new_pr2F30(False, x52, Neg(Succ(Succ(Succ(x53)))), x54, x55, ty_Int)_>=_new_pr2F0G11(x52, x54, Neg(Succ(Succ(Succ(x53)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x53), Succ(Zero)), Zero)), x55, ty_Int)) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primEvenNat0(x457)=True which results in the following new constraints: (12) (True=True ==> new_pr2F30(False, x52, Neg(Succ(Succ(Succ(x53)))), x54, x55, ty_Int)_>=_new_pr2F0G11(x52, x54, Neg(Succ(Succ(Succ(x53)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x53), Succ(Zero)), Zero)), x55, ty_Int)) (13) (new_primEvenNat0(x483)=True & (\/x484,x485,x486,x487:new_primEvenNat0(x483)=True ==> new_pr2F30(False, x484, Neg(Succ(Succ(Succ(x485)))), x486, x487, ty_Int)_>=_new_pr2F0G11(x484, x486, Neg(Succ(Succ(Succ(x485)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x485), Succ(Zero)), Zero)), x487, ty_Int)) ==> new_pr2F30(False, x52, Neg(Succ(Succ(Succ(x53)))), x54, x55, ty_Int)_>=_new_pr2F0G11(x52, x54, Neg(Succ(Succ(Succ(x53)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x53), Succ(Zero)), Zero)), x55, ty_Int)) We simplified constraint (12) using rules (I), (II) which results in the following new constraint: (14) (new_pr2F30(False, x52, Neg(Succ(Succ(Succ(x53)))), x54, x55, ty_Int)_>=_new_pr2F0G11(x52, x54, Neg(Succ(Succ(Succ(x53)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x53), Succ(Zero)), Zero)), x55, ty_Int)) We simplified constraint (13) using rule (VI) where we applied the induction hypothesis (\/x484,x485,x486,x487:new_primEvenNat0(x483)=True ==> new_pr2F30(False, x484, Neg(Succ(Succ(Succ(x485)))), x486, x487, ty_Int)_>=_new_pr2F0G11(x484, x486, Neg(Succ(Succ(Succ(x485)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x485), Succ(Zero)), Zero)), x487, ty_Int)) with sigma = [x484 / x52, x485 / x53, x486 / x54, x487 / x55] which results in the following new constraint: (15) (new_pr2F30(False, x52, Neg(Succ(Succ(Succ(x53)))), x54, x55, ty_Int)_>=_new_pr2F0G11(x52, x54, Neg(Succ(Succ(Succ(x53)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x53), Succ(Zero)), Zero)), x55, ty_Int) ==> new_pr2F30(False, x52, Neg(Succ(Succ(Succ(x53)))), x54, x55, ty_Int)_>=_new_pr2F0G11(x52, x54, Neg(Succ(Succ(Succ(x53)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x53), Succ(Zero)), Zero)), x55, ty_Int)) *We consider the chain new_pr2F30(False, x68, Neg(Succ(Succ(Succ(x69)))), x70, x71, ty_Int) -> new_pr2F0G11(x68, x70, Neg(Succ(Succ(Succ(x69)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x69), Succ(Zero)), Zero)), x71, ty_Int), new_pr2F0G11(x72, x73, Neg(Succ(Succ(Succ(x74)))), False, x75, ty_Int) -> new_pr2F0G0(new_sr2(x72, x75), x73, Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x74), Succ(Zero)), Zero)))), x75, ty_Int) which results in the following constraint: (1) (new_pr2F0G11(x68, x70, Neg(Succ(Succ(Succ(x69)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x69), Succ(Zero)), Zero)), x71, ty_Int)=new_pr2F0G11(x72, x73, Neg(Succ(Succ(Succ(x74)))), False, x75, ty_Int) ==> new_pr2F30(False, x68, Neg(Succ(Succ(Succ(x69)))), x70, x71, ty_Int)_>=_new_pr2F0G11(x68, x70, Neg(Succ(Succ(Succ(x69)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x69), Succ(Zero)), Zero)), x71, ty_Int)) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Zero=x490 & new_primPlusNat0(x489, x490)=x488 & new_primEvenNat0(x488)=False ==> new_pr2F30(False, x68, Neg(Succ(Succ(Succ(x69)))), x70, x71, ty_Int)_>=_new_pr2F0G11(x68, x70, Neg(Succ(Succ(Succ(x69)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x69), Succ(Zero)), Zero)), x71, ty_Int)) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEvenNat0(x488)=False which results in the following new constraints: (3) (False=False & Zero=x490 & new_primPlusNat0(x489, x490)=Succ(Zero) ==> new_pr2F30(False, x68, Neg(Succ(Succ(Succ(x69)))), x70, x71, ty_Int)_>=_new_pr2F0G11(x68, x70, Neg(Succ(Succ(Succ(x69)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x69), Succ(Zero)), Zero)), x71, ty_Int)) (4) (new_primEvenNat0(x493)=False & Zero=x490 & new_primPlusNat0(x489, x490)=Succ(Succ(x493)) & (\/x494,x495,x496,x497,x498,x499:new_primEvenNat0(x493)=False & Zero=x494 & new_primPlusNat0(x495, x494)=x493 ==> new_pr2F30(False, x496, Neg(Succ(Succ(Succ(x497)))), x498, x499, ty_Int)_>=_new_pr2F0G11(x496, x498, Neg(Succ(Succ(Succ(x497)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x497), Succ(Zero)), Zero)), x499, ty_Int)) ==> new_pr2F30(False, x68, Neg(Succ(Succ(Succ(x69)))), x70, x71, ty_Int)_>=_new_pr2F0G11(x68, x70, Neg(Succ(Succ(Succ(x69)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x69), Succ(Zero)), Zero)), x71, ty_Int)) We simplified constraint (3) using rules (I), (II) which results in the following new constraint: (5) (Zero=x490 & new_primPlusNat0(x489, x490)=Succ(Zero) ==> new_pr2F30(False, x68, Neg(Succ(Succ(Succ(x69)))), x70, x71, ty_Int)_>=_new_pr2F0G11(x68, x70, Neg(Succ(Succ(Succ(x69)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x69), Succ(Zero)), Zero)), x71, ty_Int)) We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat0(x489, x490)=Succ(Succ(x493)) which results in the following new constraints: (6) (Succ(Succ(new_primPlusNat0(x509, x508)))=Succ(Succ(x493)) & new_primEvenNat0(x493)=False & Zero=Succ(x508) & (\/x494,x495,x496,x497,x498,x499:new_primEvenNat0(x493)=False & Zero=x494 & new_primPlusNat0(x495, x494)=x493 ==> new_pr2F30(False, x496, Neg(Succ(Succ(Succ(x497)))), x498, x499, ty_Int)_>=_new_pr2F0G11(x496, x498, Neg(Succ(Succ(Succ(x497)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x497), Succ(Zero)), Zero)), x499, ty_Int)) & (\/x510,x511,x512,x513,x514,x515,x516,x517,x518,x519,x520:new_primPlusNat0(x509, x508)=Succ(Succ(x510)) & new_primEvenNat0(x510)=False & Zero=x508 & (\/x511,x512,x513,x514,x515,x516:new_primEvenNat0(x510)=False & Zero=x511 & new_primPlusNat0(x512, x511)=x510 ==> new_pr2F30(False, x513, Neg(Succ(Succ(Succ(x514)))), x515, x516, ty_Int)_>=_new_pr2F0G11(x513, x515, Neg(Succ(Succ(Succ(x514)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x514), Succ(Zero)), Zero)), x516, ty_Int)) ==> new_pr2F30(False, x517, Neg(Succ(Succ(Succ(x518)))), x519, x520, ty_Int)_>=_new_pr2F0G11(x517, x519, Neg(Succ(Succ(Succ(x518)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x518), Succ(Zero)), Zero)), x520, ty_Int)) ==> new_pr2F30(False, x68, Neg(Succ(Succ(Succ(x69)))), x70, x71, ty_Int)_>=_new_pr2F0G11(x68, x70, Neg(Succ(Succ(Succ(x69)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x69), Succ(Zero)), Zero)), x71, ty_Int)) (7) (Succ(x521)=Succ(Succ(x493)) & new_primEvenNat0(x493)=False & Zero=Succ(x521) & (\/x494,x495,x496,x497,x498,x499:new_primEvenNat0(x493)=False & Zero=x494 & new_primPlusNat0(x495, x494)=x493 ==> new_pr2F30(False, x496, Neg(Succ(Succ(Succ(x497)))), x498, x499, ty_Int)_>=_new_pr2F0G11(x496, x498, Neg(Succ(Succ(Succ(x497)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x497), Succ(Zero)), Zero)), x499, ty_Int)) ==> new_pr2F30(False, x68, Neg(Succ(Succ(Succ(x69)))), x70, x71, ty_Int)_>=_new_pr2F0G11(x68, x70, Neg(Succ(Succ(Succ(x69)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x69), Succ(Zero)), Zero)), x71, ty_Int)) (8) (Succ(x522)=Succ(Succ(x493)) & new_primEvenNat0(x493)=False & Zero=Zero & (\/x494,x495,x496,x497,x498,x499:new_primEvenNat0(x493)=False & Zero=x494 & new_primPlusNat0(x495, x494)=x493 ==> new_pr2F30(False, x496, Neg(Succ(Succ(Succ(x497)))), x498, x499, ty_Int)_>=_new_pr2F0G11(x496, x498, Neg(Succ(Succ(Succ(x497)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x497), Succ(Zero)), Zero)), x499, ty_Int)) ==> new_pr2F30(False, x68, Neg(Succ(Succ(Succ(x69)))), x70, x71, ty_Int)_>=_new_pr2F0G11(x68, x70, Neg(Succ(Succ(Succ(x69)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x69), Succ(Zero)), Zero)), x71, ty_Int)) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat0(x489, x490)=Succ(Zero) which results in the following new constraints: (9) (Succ(Succ(new_primPlusNat0(x501, x500)))=Succ(Zero) & Zero=Succ(x500) & (\/x502,x503,x504,x505:new_primPlusNat0(x501, x500)=Succ(Zero) & Zero=x500 ==> new_pr2F30(False, x502, Neg(Succ(Succ(Succ(x503)))), x504, x505, ty_Int)_>=_new_pr2F0G11(x502, x504, Neg(Succ(Succ(Succ(x503)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x503), Succ(Zero)), Zero)), x505, ty_Int)) ==> new_pr2F30(False, x68, Neg(Succ(Succ(Succ(x69)))), x70, x71, ty_Int)_>=_new_pr2F0G11(x68, x70, Neg(Succ(Succ(Succ(x69)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x69), Succ(Zero)), Zero)), x71, ty_Int)) (10) (Succ(x506)=Succ(Zero) & Zero=Succ(x506) ==> new_pr2F30(False, x68, Neg(Succ(Succ(Succ(x69)))), x70, x71, ty_Int)_>=_new_pr2F0G11(x68, x70, Neg(Succ(Succ(Succ(x69)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x69), Succ(Zero)), Zero)), x71, ty_Int)) (11) (Succ(x507)=Succ(Zero) & Zero=Zero ==> new_pr2F30(False, x68, Neg(Succ(Succ(Succ(x69)))), x70, x71, ty_Int)_>=_new_pr2F0G11(x68, x70, Neg(Succ(Succ(Succ(x69)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x69), Succ(Zero)), Zero)), x71, ty_Int)) We solved constraint (9) using rules (I), (II).We solved constraint (10) using rules (I), (II).We simplified constraint (11) using rules (I), (II), (III) which results in the following new constraint: (12) (new_pr2F30(False, x68, Neg(Succ(Succ(Succ(x69)))), x70, x71, ty_Int)_>=_new_pr2F0G11(x68, x70, Neg(Succ(Succ(Succ(x69)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x69), Succ(Zero)), Zero)), x71, ty_Int)) We solved constraint (6) using rules (I), (II).We solved constraint (7) using rules (I), (II).We simplified constraint (8) using rules (I), (II), (III), (IV) which results in the following new constraint: (13) (new_primEvenNat0(x493)=False ==> new_pr2F30(False, x68, Neg(Succ(Succ(Succ(x69)))), x70, x71, ty_Int)_>=_new_pr2F0G11(x68, x70, Neg(Succ(Succ(Succ(x69)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x69), Succ(Zero)), Zero)), x71, ty_Int)) We simplified constraint (13) using rule (V) (with possible (I) afterwards) using induction on new_primEvenNat0(x493)=False which results in the following new constraints: (14) (False=False ==> new_pr2F30(False, x68, Neg(Succ(Succ(Succ(x69)))), x70, x71, ty_Int)_>=_new_pr2F0G11(x68, x70, Neg(Succ(Succ(Succ(x69)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x69), Succ(Zero)), Zero)), x71, ty_Int)) (15) (new_primEvenNat0(x523)=False & (\/x524,x525,x526,x527:new_primEvenNat0(x523)=False ==> new_pr2F30(False, x524, Neg(Succ(Succ(Succ(x525)))), x526, x527, ty_Int)_>=_new_pr2F0G11(x524, x526, Neg(Succ(Succ(Succ(x525)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x525), Succ(Zero)), Zero)), x527, ty_Int)) ==> new_pr2F30(False, x68, Neg(Succ(Succ(Succ(x69)))), x70, x71, ty_Int)_>=_new_pr2F0G11(x68, x70, Neg(Succ(Succ(Succ(x69)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x69), Succ(Zero)), Zero)), x71, ty_Int)) We simplified constraint (14) using rules (I), (II) which results in the following new constraint: (16) (new_pr2F30(False, x68, Neg(Succ(Succ(Succ(x69)))), x70, x71, ty_Int)_>=_new_pr2F0G11(x68, x70, Neg(Succ(Succ(Succ(x69)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x69), Succ(Zero)), Zero)), x71, ty_Int)) We simplified constraint (15) using rule (VI) where we applied the induction hypothesis (\/x524,x525,x526,x527:new_primEvenNat0(x523)=False ==> new_pr2F30(False, x524, Neg(Succ(Succ(Succ(x525)))), x526, x527, ty_Int)_>=_new_pr2F0G11(x524, x526, Neg(Succ(Succ(Succ(x525)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x525), Succ(Zero)), Zero)), x527, ty_Int)) with sigma = [x524 / x68, x525 / x69, x526 / x70, x527 / x71] which results in the following new constraint: (17) (new_pr2F30(False, x68, Neg(Succ(Succ(Succ(x69)))), x70, x71, ty_Int)_>=_new_pr2F0G11(x68, x70, Neg(Succ(Succ(Succ(x69)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x69), Succ(Zero)), Zero)), x71, ty_Int) ==> new_pr2F30(False, x68, Neg(Succ(Succ(Succ(x69)))), x70, x71, ty_Int)_>=_new_pr2F0G11(x68, x70, Neg(Succ(Succ(Succ(x69)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x69), Succ(Zero)), Zero)), x71, ty_Int)) For Pair new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)))), y3, ty_Int) the following chains were created: *We consider the chain new_pr2F0G11(x104, x105, Neg(Succ(Succ(Succ(x106)))), True, x107, ty_Int) -> new_pr2F0G(new_sr4(x104, x105, x107), new_sr3(x104, x107), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x106), Succ(Zero)), Zero)))), x107, ty_Int), new_pr2F0G(x108, x109, Neg(Succ(Succ(Succ(x110)))), x111, ty_Int) -> new_pr2F0G10(x108, x109, Neg(Succ(Succ(Succ(x110)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x110), Succ(Zero)))), x111, ty_Int) which results in the following constraint: (1) (new_pr2F0G(new_sr4(x104, x105, x107), new_sr3(x104, x107), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x106), Succ(Zero)), Zero)))), x107, ty_Int)=new_pr2F0G(x108, x109, Neg(Succ(Succ(Succ(x110)))), x111, ty_Int) ==> new_pr2F0G11(x104, x105, Neg(Succ(Succ(Succ(x106)))), True, x107, ty_Int)_>=_new_pr2F0G(new_sr4(x104, x105, x107), new_sr3(x104, x107), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x106), Succ(Zero)), Zero)))), x107, ty_Int)) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(x106)=x530 & Succ(Zero)=x531 & new_primDivNatS1(x530, x531)=x528 & Zero=x529 & new_primPlusNat0(x528, x529)=Succ(x110) ==> new_pr2F0G11(x104, x105, Neg(Succ(Succ(Succ(x106)))), True, x107, ty_Int)_>=_new_pr2F0G(new_sr4(x104, x105, x107), new_sr3(x104, x107), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x106), Succ(Zero)), Zero)))), x107, ty_Int)) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat0(x528, x529)=Succ(x110) which results in the following new constraints: (3) (Succ(Succ(new_primPlusNat0(x533, x532)))=Succ(x110) & Succ(x106)=x530 & Succ(Zero)=x531 & new_primDivNatS1(x530, x531)=Succ(x533) & Zero=Succ(x532) & (\/x534,x535,x536,x537,x538,x539,x540:new_primPlusNat0(x533, x532)=Succ(x534) & Succ(x535)=x536 & Succ(Zero)=x537 & new_primDivNatS1(x536, x537)=x533 & Zero=x532 ==> new_pr2F0G11(x538, x539, Neg(Succ(Succ(Succ(x535)))), True, x540, ty_Int)_>=_new_pr2F0G(new_sr4(x538, x539, x540), new_sr3(x538, x540), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x535), Succ(Zero)), Zero)))), x540, ty_Int)) ==> new_pr2F0G11(x104, x105, Neg(Succ(Succ(Succ(x106)))), True, x107, ty_Int)_>=_new_pr2F0G(new_sr4(x104, x105, x107), new_sr3(x104, x107), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x106), Succ(Zero)), Zero)))), x107, ty_Int)) (4) (Succ(x541)=Succ(x110) & Succ(x106)=x530 & Succ(Zero)=x531 & new_primDivNatS1(x530, x531)=Zero & Zero=Succ(x541) ==> new_pr2F0G11(x104, x105, Neg(Succ(Succ(Succ(x106)))), True, x107, ty_Int)_>=_new_pr2F0G(new_sr4(x104, x105, x107), new_sr3(x104, x107), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x106), Succ(Zero)), Zero)))), x107, ty_Int)) (5) (Succ(x542)=Succ(x110) & Succ(x106)=x530 & Succ(Zero)=x531 & new_primDivNatS1(x530, x531)=Succ(x542) & Zero=Zero ==> new_pr2F0G11(x104, x105, Neg(Succ(Succ(Succ(x106)))), True, x107, ty_Int)_>=_new_pr2F0G(new_sr4(x104, x105, x107), new_sr3(x104, x107), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x106), Succ(Zero)), Zero)))), x107, ty_Int)) We solved constraint (3) using rules (I), (II).We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (IV) which results in the following new constraint: (6) (Succ(x106)=x530 & Succ(Zero)=x531 & new_primDivNatS1(x530, x531)=Succ(x542) ==> new_pr2F0G11(x104, x105, Neg(Succ(Succ(Succ(x106)))), True, x107, ty_Int)_>=_new_pr2F0G(new_sr4(x104, x105, x107), new_sr3(x104, x107), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x106), Succ(Zero)), Zero)))), x107, ty_Int)) We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x530, x531)=Succ(x542) which results in the following new constraints: (7) (new_primDivNatS01(x545, x544, x545, x544)=Succ(x542) & Succ(x106)=Succ(Succ(x545)) & Succ(Zero)=Succ(x544) ==> new_pr2F0G11(x104, x105, Neg(Succ(Succ(Succ(x106)))), True, x107, ty_Int)_>=_new_pr2F0G(new_sr4(x104, x105, x107), new_sr3(x104, x107), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x106), Succ(Zero)), Zero)))), x107, ty_Int)) (8) (Succ(new_primDivNatS1(new_primMinusNatS0(x547), Zero))=Succ(x542) & Succ(x106)=Succ(Succ(x547)) & Succ(Zero)=Zero ==> new_pr2F0G11(x104, x105, Neg(Succ(Succ(Succ(x106)))), True, x107, ty_Int)_>=_new_pr2F0G(new_sr4(x104, x105, x107), new_sr3(x104, x107), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x106), Succ(Zero)), Zero)))), x107, ty_Int)) (9) (Succ(new_primDivNatS1(new_primMinusNatS1, Zero))=Succ(x542) & Succ(x106)=Succ(Zero) & Succ(Zero)=Zero ==> new_pr2F0G11(x104, x105, Neg(Succ(Succ(Succ(x106)))), True, x107, ty_Int)_>=_new_pr2F0G(new_sr4(x104, x105, x107), new_sr3(x104, x107), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x106), Succ(Zero)), Zero)))), x107, ty_Int)) We simplified constraint (7) using rules (I), (II), (III), (VII) which results in the following new constraint: (10) (x545=x548 & x544=x549 & new_primDivNatS01(x545, x544, x548, x549)=Succ(x542) & Zero=x544 ==> new_pr2F0G11(x104, x105, Neg(Succ(Succ(Succ(Succ(x545))))), True, x107, ty_Int)_>=_new_pr2F0G(new_sr4(x104, x105, x107), new_sr3(x104, x107), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(Succ(x545)), Succ(Zero)), Zero)))), x107, ty_Int)) We solved constraint (8) using rules (I), (II).We solved constraint (9) using rules (I), (II).We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS01(x545, x544, x548, x549)=Succ(x542) which results in the following new constraints: (11) (new_primDivNatS02(x551, x550)=Succ(x542) & x551=Zero & x550=Zero & Zero=x550 ==> new_pr2F0G11(x104, x105, Neg(Succ(Succ(Succ(Succ(x551))))), True, x107, ty_Int)_>=_new_pr2F0G(new_sr4(x104, x105, x107), new_sr3(x104, x107), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(Succ(x551)), Succ(Zero)), Zero)))), x107, ty_Int)) (12) (new_primDivNatS02(x554, x553)=Succ(x542) & x554=Succ(x552) & x553=Zero & Zero=x553 ==> new_pr2F0G11(x104, x105, Neg(Succ(Succ(Succ(Succ(x554))))), True, x107, ty_Int)_>=_new_pr2F0G(new_sr4(x104, x105, x107), new_sr3(x104, x107), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(Succ(x554)), Succ(Zero)), Zero)))), x107, ty_Int)) (13) (new_primDivNatS01(x561, x560, x559, x558)=Succ(x542) & x561=Succ(x559) & x560=Succ(x558) & Zero=x560 & (\/x562,x563,x564,x565:new_primDivNatS01(x561, x560, x559, x558)=Succ(x562) & x561=x559 & x560=x558 & Zero=x560 ==> new_pr2F0G11(x563, x564, Neg(Succ(Succ(Succ(Succ(x561))))), True, x565, ty_Int)_>=_new_pr2F0G(new_sr4(x563, x564, x565), new_sr3(x563, x565), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(Succ(x561)), Succ(Zero)), Zero)))), x565, ty_Int)) ==> new_pr2F0G11(x104, x105, Neg(Succ(Succ(Succ(Succ(x561))))), True, x107, ty_Int)_>=_new_pr2F0G(new_sr4(x104, x105, x107), new_sr3(x104, x107), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(Succ(x561)), Succ(Zero)), Zero)))), x107, ty_Int)) We simplified constraint (11) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (14) (new_pr2F0G11(x104, x105, Neg(Succ(Succ(Succ(Succ(Zero))))), True, x107, ty_Int)_>=_new_pr2F0G(new_sr4(x104, x105, x107), new_sr3(x104, x107), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero)), Zero)))), x107, ty_Int)) We simplified constraint (12) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (15) (new_pr2F0G11(x104, x105, Neg(Succ(Succ(Succ(Succ(Succ(x552)))))), True, x107, ty_Int)_>=_new_pr2F0G(new_sr4(x104, x105, x107), new_sr3(x104, x107), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(Succ(Succ(x552))), Succ(Zero)), Zero)))), x107, ty_Int)) We solved constraint (13) using rules (I), (II), (III). For Pair new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) the following chains were created: *We consider the chain new_pr2F0G(x136, x137, Neg(Succ(Succ(Succ(x138)))), x139, ty_Int) -> new_pr2F0G10(x136, x137, Neg(Succ(Succ(Succ(x138)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x138), Succ(Zero)))), x139, ty_Int), new_pr2F0G10(x140, x141, Neg(Succ(Succ(Succ(x142)))), False, x143, ty_Int) -> new_pr2F30(False, x141, Neg(Succ(Succ(Succ(x142)))), x140, x143, ty_Int) which results in the following constraint: (1) (new_pr2F0G10(x136, x137, Neg(Succ(Succ(Succ(x138)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x138), Succ(Zero)))), x139, ty_Int)=new_pr2F0G10(x140, x141, Neg(Succ(Succ(Succ(x142)))), False, x143, ty_Int) ==> new_pr2F0G(x136, x137, Neg(Succ(Succ(Succ(x138)))), x139, ty_Int)_>=_new_pr2F0G10(x136, x137, Neg(Succ(Succ(Succ(x138)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x138), Succ(Zero)))), x139, ty_Int)) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(new_primDivNatS1(Succ(x138), Succ(Zero)))=x570 & new_primEvenNat0(x570)=False ==> new_pr2F0G(x136, x137, Neg(Succ(Succ(Succ(x138)))), x139, ty_Int)_>=_new_pr2F0G10(x136, x137, Neg(Succ(Succ(Succ(x138)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x138), Succ(Zero)))), x139, ty_Int)) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEvenNat0(x570)=False which results in the following new constraints: (3) (False=False & Succ(new_primDivNatS1(Succ(x138), Succ(Zero)))=Succ(Zero) ==> new_pr2F0G(x136, x137, Neg(Succ(Succ(Succ(x138)))), x139, ty_Int)_>=_new_pr2F0G10(x136, x137, Neg(Succ(Succ(Succ(x138)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x138), Succ(Zero)))), x139, ty_Int)) (4) (new_primEvenNat0(x571)=False & Succ(new_primDivNatS1(Succ(x138), Succ(Zero)))=Succ(Succ(x571)) & (\/x572,x573,x574,x575:new_primEvenNat0(x571)=False & Succ(new_primDivNatS1(Succ(x572), Succ(Zero)))=x571 ==> new_pr2F0G(x573, x574, Neg(Succ(Succ(Succ(x572)))), x575, ty_Int)_>=_new_pr2F0G10(x573, x574, Neg(Succ(Succ(Succ(x572)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x572), Succ(Zero)))), x575, ty_Int)) ==> new_pr2F0G(x136, x137, Neg(Succ(Succ(Succ(x138)))), x139, ty_Int)_>=_new_pr2F0G10(x136, x137, Neg(Succ(Succ(Succ(x138)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x138), Succ(Zero)))), x139, ty_Int)) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (5) (Succ(x138)=x576 & Succ(Zero)=x577 & new_primDivNatS1(x576, x577)=Zero ==> new_pr2F0G(x136, x137, Neg(Succ(Succ(Succ(x138)))), x139, ty_Int)_>=_new_pr2F0G10(x136, x137, Neg(Succ(Succ(Succ(x138)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x138), Succ(Zero)))), x139, ty_Int)) We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: (6) (new_primEvenNat0(x571)=False & Succ(x138)=x604 & Succ(Zero)=x605 & new_primDivNatS1(x604, x605)=Succ(x571) & (\/x572,x573,x574,x575:new_primEvenNat0(x571)=False & Succ(new_primDivNatS1(Succ(x572), Succ(Zero)))=x571 ==> new_pr2F0G(x573, x574, Neg(Succ(Succ(Succ(x572)))), x575, ty_Int)_>=_new_pr2F0G10(x573, x574, Neg(Succ(Succ(Succ(x572)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x572), Succ(Zero)))), x575, ty_Int)) ==> new_pr2F0G(x136, x137, Neg(Succ(Succ(Succ(x138)))), x139, ty_Int)_>=_new_pr2F0G10(x136, x137, Neg(Succ(Succ(Succ(x138)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x138), Succ(Zero)))), x139, ty_Int)) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x576, x577)=Zero which results in the following new constraints: (7) (Zero=Zero & Succ(x138)=Succ(Zero) & Succ(Zero)=Succ(x578) ==> new_pr2F0G(x136, x137, Neg(Succ(Succ(Succ(x138)))), x139, ty_Int)_>=_new_pr2F0G10(x136, x137, Neg(Succ(Succ(Succ(x138)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x138), Succ(Zero)))), x139, ty_Int)) (8) (new_primDivNatS01(x580, x579, x580, x579)=Zero & Succ(x138)=Succ(Succ(x580)) & Succ(Zero)=Succ(x579) ==> new_pr2F0G(x136, x137, Neg(Succ(Succ(Succ(x138)))), x139, ty_Int)_>=_new_pr2F0G10(x136, x137, Neg(Succ(Succ(Succ(x138)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x138), Succ(Zero)))), x139, ty_Int)) (9) (Zero=Zero & Succ(x138)=Zero & Succ(Zero)=x581 ==> new_pr2F0G(x136, x137, Neg(Succ(Succ(Succ(x138)))), x139, ty_Int)_>=_new_pr2F0G10(x136, x137, Neg(Succ(Succ(Succ(x138)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x138), Succ(Zero)))), x139, ty_Int)) We simplified constraint (7) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_pr2F0G(x136, x137, Neg(Succ(Succ(Succ(Zero)))), x139, ty_Int)_>=_new_pr2F0G10(x136, x137, Neg(Succ(Succ(Succ(Zero)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Zero), Succ(Zero)))), x139, ty_Int)) We simplified constraint (8) using rules (I), (II), (III), (VII) which results in the following new constraint: (11) (x580=x583 & x579=x584 & new_primDivNatS01(x580, x579, x583, x584)=Zero & Zero=x579 ==> new_pr2F0G(x136, x137, Neg(Succ(Succ(Succ(Succ(x580))))), x139, ty_Int)_>=_new_pr2F0G10(x136, x137, Neg(Succ(Succ(Succ(Succ(x580))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(x580)), Succ(Zero)))), x139, ty_Int)) We solved constraint (9) using rules (I), (II).We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS01(x580, x579, x583, x584)=Zero which results in the following new constraints: (12) (new_primDivNatS02(x586, x585)=Zero & x586=Zero & x585=Zero & Zero=x585 ==> new_pr2F0G(x136, x137, Neg(Succ(Succ(Succ(Succ(x586))))), x139, ty_Int)_>=_new_pr2F0G10(x136, x137, Neg(Succ(Succ(Succ(Succ(x586))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(x586)), Succ(Zero)))), x139, ty_Int)) (13) (new_primDivNatS02(x589, x588)=Zero & x589=Succ(x587) & x588=Zero & Zero=x588 ==> new_pr2F0G(x136, x137, Neg(Succ(Succ(Succ(Succ(x589))))), x139, ty_Int)_>=_new_pr2F0G10(x136, x137, Neg(Succ(Succ(Succ(Succ(x589))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(x589)), Succ(Zero)))), x139, ty_Int)) (14) (Zero=Zero & x592=Zero & x591=Succ(x590) & Zero=x591 ==> new_pr2F0G(x136, x137, Neg(Succ(Succ(Succ(Succ(x592))))), x139, ty_Int)_>=_new_pr2F0G10(x136, x137, Neg(Succ(Succ(Succ(Succ(x592))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(x592)), Succ(Zero)))), x139, ty_Int)) (15) (new_primDivNatS01(x596, x595, x594, x593)=Zero & x596=Succ(x594) & x595=Succ(x593) & Zero=x595 & (\/x597,x598,x599:new_primDivNatS01(x596, x595, x594, x593)=Zero & x596=x594 & x595=x593 & Zero=x595 ==> new_pr2F0G(x597, x598, Neg(Succ(Succ(Succ(Succ(x596))))), x599, ty_Int)_>=_new_pr2F0G10(x597, x598, Neg(Succ(Succ(Succ(Succ(x596))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(x596)), Succ(Zero)))), x599, ty_Int)) ==> new_pr2F0G(x136, x137, Neg(Succ(Succ(Succ(Succ(x596))))), x139, ty_Int)_>=_new_pr2F0G10(x136, x137, Neg(Succ(Succ(Succ(Succ(x596))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(x596)), Succ(Zero)))), x139, ty_Int)) We simplified constraint (12) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (16) (new_pr2F0G(x136, x137, Neg(Succ(Succ(Succ(Succ(Zero))))), x139, ty_Int)_>=_new_pr2F0G10(x136, x137, Neg(Succ(Succ(Succ(Succ(Zero))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero)))), x139, ty_Int)) We simplified constraint (13) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (17) (new_pr2F0G(x136, x137, Neg(Succ(Succ(Succ(Succ(Succ(x587)))))), x139, ty_Int)_>=_new_pr2F0G10(x136, x137, Neg(Succ(Succ(Succ(Succ(Succ(x587)))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(Succ(x587))), Succ(Zero)))), x139, ty_Int)) We solved constraint (14) using rules (I), (II), (III).We solved constraint (15) using rules (I), (II), (III).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x604, x605)=Succ(x571) which results in the following new constraints: (18) (new_primDivNatS01(x608, x607, x608, x607)=Succ(x571) & new_primEvenNat0(x571)=False & Succ(x138)=Succ(Succ(x608)) & Succ(Zero)=Succ(x607) & (\/x572,x573,x574,x575:new_primEvenNat0(x571)=False & Succ(new_primDivNatS1(Succ(x572), Succ(Zero)))=x571 ==> new_pr2F0G(x573, x574, Neg(Succ(Succ(Succ(x572)))), x575, ty_Int)_>=_new_pr2F0G10(x573, x574, Neg(Succ(Succ(Succ(x572)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x572), Succ(Zero)))), x575, ty_Int)) ==> new_pr2F0G(x136, x137, Neg(Succ(Succ(Succ(x138)))), x139, ty_Int)_>=_new_pr2F0G10(x136, x137, Neg(Succ(Succ(Succ(x138)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x138), Succ(Zero)))), x139, ty_Int)) (19) (Succ(new_primDivNatS1(new_primMinusNatS0(x610), Zero))=Succ(x571) & new_primEvenNat0(x571)=False & Succ(x138)=Succ(Succ(x610)) & Succ(Zero)=Zero & (\/x572,x573,x574,x575:new_primEvenNat0(x571)=False & Succ(new_primDivNatS1(Succ(x572), Succ(Zero)))=x571 ==> new_pr2F0G(x573, x574, Neg(Succ(Succ(Succ(x572)))), x575, ty_Int)_>=_new_pr2F0G10(x573, x574, Neg(Succ(Succ(Succ(x572)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x572), Succ(Zero)))), x575, ty_Int)) ==> new_pr2F0G(x136, x137, Neg(Succ(Succ(Succ(x138)))), x139, ty_Int)_>=_new_pr2F0G10(x136, x137, Neg(Succ(Succ(Succ(x138)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x138), Succ(Zero)))), x139, ty_Int)) (20) (Succ(new_primDivNatS1(new_primMinusNatS1, Zero))=Succ(x571) & new_primEvenNat0(x571)=False & Succ(x138)=Succ(Zero) & Succ(Zero)=Zero & (\/x572,x573,x574,x575:new_primEvenNat0(x571)=False & Succ(new_primDivNatS1(Succ(x572), Succ(Zero)))=x571 ==> new_pr2F0G(x573, x574, Neg(Succ(Succ(Succ(x572)))), x575, ty_Int)_>=_new_pr2F0G10(x573, x574, Neg(Succ(Succ(Succ(x572)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x572), Succ(Zero)))), x575, ty_Int)) ==> new_pr2F0G(x136, x137, Neg(Succ(Succ(Succ(x138)))), x139, ty_Int)_>=_new_pr2F0G10(x136, x137, Neg(Succ(Succ(Succ(x138)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x138), Succ(Zero)))), x139, ty_Int)) We simplified constraint (18) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (21) (x608=x611 & x607=x612 & new_primDivNatS01(x608, x607, x611, x612)=Succ(x571) & new_primEvenNat0(x571)=False & Zero=x607 ==> new_pr2F0G(x136, x137, Neg(Succ(Succ(Succ(Succ(x608))))), x139, ty_Int)_>=_new_pr2F0G10(x136, x137, Neg(Succ(Succ(Succ(Succ(x608))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(x608)), Succ(Zero)))), x139, ty_Int)) We solved constraint (19) using rules (I), (II).We solved constraint (20) using rules (I), (II).We simplified constraint (21) using rule (V) (with possible (I) afterwards) using induction on new_primEvenNat0(x571)=False which results in the following new constraints: (22) (False=False & x608=x611 & x607=x612 & new_primDivNatS01(x608, x607, x611, x612)=Succ(Succ(Zero)) & Zero=x607 ==> new_pr2F0G(x136, x137, Neg(Succ(Succ(Succ(Succ(x608))))), x139, ty_Int)_>=_new_pr2F0G10(x136, x137, Neg(Succ(Succ(Succ(Succ(x608))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(x608)), Succ(Zero)))), x139, ty_Int)) (23) (new_primEvenNat0(x613)=False & x608=x611 & x607=x612 & new_primDivNatS01(x608, x607, x611, x612)=Succ(Succ(Succ(x613))) & Zero=x607 & (\/x614,x615,x616,x617,x618,x619,x620:new_primEvenNat0(x613)=False & x614=x615 & x616=x617 & new_primDivNatS01(x614, x616, x615, x617)=Succ(x613) & Zero=x616 ==> new_pr2F0G(x618, x619, Neg(Succ(Succ(Succ(Succ(x614))))), x620, ty_Int)_>=_new_pr2F0G10(x618, x619, Neg(Succ(Succ(Succ(Succ(x614))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(x614)), Succ(Zero)))), x620, ty_Int)) ==> new_pr2F0G(x136, x137, Neg(Succ(Succ(Succ(Succ(x608))))), x139, ty_Int)_>=_new_pr2F0G10(x136, x137, Neg(Succ(Succ(Succ(Succ(x608))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(x608)), Succ(Zero)))), x139, ty_Int)) We simplified constraint (22) using rules (I), (II) which results in the following new constraint: (24) (x608=x611 & x607=x612 & new_primDivNatS01(x608, x607, x611, x612)=Succ(Succ(Zero)) & Zero=x607 ==> new_pr2F0G(x136, x137, Neg(Succ(Succ(Succ(Succ(x608))))), x139, ty_Int)_>=_new_pr2F0G10(x136, x137, Neg(Succ(Succ(Succ(Succ(x608))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(x608)), Succ(Zero)))), x139, ty_Int)) We simplified constraint (23) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS01(x608, x607, x611, x612)=Succ(Succ(Succ(x613))) which results in the following new constraints: (25) (new_primDivNatS02(x641, x640)=Succ(Succ(Succ(x613))) & new_primEvenNat0(x613)=False & x641=Zero & x640=Zero & Zero=x640 & (\/x614,x615,x616,x617,x618,x619,x620:new_primEvenNat0(x613)=False & x614=x615 & x616=x617 & new_primDivNatS01(x614, x616, x615, x617)=Succ(x613) & Zero=x616 ==> new_pr2F0G(x618, x619, Neg(Succ(Succ(Succ(Succ(x614))))), x620, ty_Int)_>=_new_pr2F0G10(x618, x619, Neg(Succ(Succ(Succ(Succ(x614))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(x614)), Succ(Zero)))), x620, ty_Int)) ==> new_pr2F0G(x136, x137, Neg(Succ(Succ(Succ(Succ(x641))))), x139, ty_Int)_>=_new_pr2F0G10(x136, x137, Neg(Succ(Succ(Succ(Succ(x641))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(x641)), Succ(Zero)))), x139, ty_Int)) (26) (new_primDivNatS02(x644, x643)=Succ(Succ(Succ(x613))) & new_primEvenNat0(x613)=False & x644=Succ(x642) & x643=Zero & Zero=x643 & (\/x614,x615,x616,x617,x618,x619,x620:new_primEvenNat0(x613)=False & x614=x615 & x616=x617 & new_primDivNatS01(x614, x616, x615, x617)=Succ(x613) & Zero=x616 ==> new_pr2F0G(x618, x619, Neg(Succ(Succ(Succ(Succ(x614))))), x620, ty_Int)_>=_new_pr2F0G10(x618, x619, Neg(Succ(Succ(Succ(Succ(x614))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(x614)), Succ(Zero)))), x620, ty_Int)) ==> new_pr2F0G(x136, x137, Neg(Succ(Succ(Succ(Succ(x644))))), x139, ty_Int)_>=_new_pr2F0G10(x136, x137, Neg(Succ(Succ(Succ(Succ(x644))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(x644)), Succ(Zero)))), x139, ty_Int)) (27) (new_primDivNatS01(x651, x650, x649, x648)=Succ(Succ(Succ(x613))) & new_primEvenNat0(x613)=False & x651=Succ(x649) & x650=Succ(x648) & Zero=x650 & (\/x614,x615,x616,x617,x618,x619,x620:new_primEvenNat0(x613)=False & x614=x615 & x616=x617 & new_primDivNatS01(x614, x616, x615, x617)=Succ(x613) & Zero=x616 ==> new_pr2F0G(x618, x619, Neg(Succ(Succ(Succ(Succ(x614))))), x620, ty_Int)_>=_new_pr2F0G10(x618, x619, Neg(Succ(Succ(Succ(Succ(x614))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(x614)), Succ(Zero)))), x620, ty_Int)) & (\/x652,x653,x654,x655,x656,x657,x658,x659,x660,x661,x662:new_primDivNatS01(x651, x650, x649, x648)=Succ(Succ(Succ(x652))) & new_primEvenNat0(x652)=False & x651=x649 & x650=x648 & Zero=x650 & (\/x653,x654,x655,x656,x657,x658,x659:new_primEvenNat0(x652)=False & x653=x654 & x655=x656 & new_primDivNatS01(x653, x655, x654, x656)=Succ(x652) & Zero=x655 ==> new_pr2F0G(x657, x658, Neg(Succ(Succ(Succ(Succ(x653))))), x659, ty_Int)_>=_new_pr2F0G10(x657, x658, Neg(Succ(Succ(Succ(Succ(x653))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(x653)), Succ(Zero)))), x659, ty_Int)) ==> new_pr2F0G(x660, x661, Neg(Succ(Succ(Succ(Succ(x651))))), x662, ty_Int)_>=_new_pr2F0G10(x660, x661, Neg(Succ(Succ(Succ(Succ(x651))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(x651)), Succ(Zero)))), x662, ty_Int)) ==> new_pr2F0G(x136, x137, Neg(Succ(Succ(Succ(Succ(x651))))), x139, ty_Int)_>=_new_pr2F0G10(x136, x137, Neg(Succ(Succ(Succ(Succ(x651))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(x651)), Succ(Zero)))), x139, ty_Int)) We simplified constraint (24) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS01(x608, x607, x611, x612)=Succ(Succ(Zero)) which results in the following new constraints: (28) (new_primDivNatS02(x622, x621)=Succ(Succ(Zero)) & x622=Zero & x621=Zero & Zero=x621 ==> new_pr2F0G(x136, x137, Neg(Succ(Succ(Succ(Succ(x622))))), x139, ty_Int)_>=_new_pr2F0G10(x136, x137, Neg(Succ(Succ(Succ(Succ(x622))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(x622)), Succ(Zero)))), x139, ty_Int)) (29) (new_primDivNatS02(x625, x624)=Succ(Succ(Zero)) & x625=Succ(x623) & x624=Zero & Zero=x624 ==> new_pr2F0G(x136, x137, Neg(Succ(Succ(Succ(Succ(x625))))), x139, ty_Int)_>=_new_pr2F0G10(x136, x137, Neg(Succ(Succ(Succ(Succ(x625))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(x625)), Succ(Zero)))), x139, ty_Int)) (30) (new_primDivNatS01(x632, x631, x630, x629)=Succ(Succ(Zero)) & x632=Succ(x630) & x631=Succ(x629) & Zero=x631 & (\/x633,x634,x635:new_primDivNatS01(x632, x631, x630, x629)=Succ(Succ(Zero)) & x632=x630 & x631=x629 & Zero=x631 ==> new_pr2F0G(x633, x634, Neg(Succ(Succ(Succ(Succ(x632))))), x635, ty_Int)_>=_new_pr2F0G10(x633, x634, Neg(Succ(Succ(Succ(Succ(x632))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(x632)), Succ(Zero)))), x635, ty_Int)) ==> new_pr2F0G(x136, x137, Neg(Succ(Succ(Succ(Succ(x632))))), x139, ty_Int)_>=_new_pr2F0G10(x136, x137, Neg(Succ(Succ(Succ(Succ(x632))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(x632)), Succ(Zero)))), x139, ty_Int)) We simplified constraint (28) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (31) (new_pr2F0G(x136, x137, Neg(Succ(Succ(Succ(Succ(Zero))))), x139, ty_Int)_>=_new_pr2F0G10(x136, x137, Neg(Succ(Succ(Succ(Succ(Zero))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero)))), x139, ty_Int)) We simplified constraint (29) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (32) (new_pr2F0G(x136, x137, Neg(Succ(Succ(Succ(Succ(Succ(x623)))))), x139, ty_Int)_>=_new_pr2F0G10(x136, x137, Neg(Succ(Succ(Succ(Succ(Succ(x623)))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(Succ(x623))), Succ(Zero)))), x139, ty_Int)) We solved constraint (30) using rules (I), (II), (III).We simplified constraint (25) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (33) (new_pr2F0G(x136, x137, Neg(Succ(Succ(Succ(Succ(Zero))))), x139, ty_Int)_>=_new_pr2F0G10(x136, x137, Neg(Succ(Succ(Succ(Succ(Zero))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero)))), x139, ty_Int)) We solved constraint (26) using rules (I), (II), (III), (IV), (VII).We solved constraint (27) using rules (I), (II), (III). *We consider the chain new_pr2F0G(x156, x157, Neg(Succ(Succ(Succ(x158)))), x159, ty_Int) -> new_pr2F0G10(x156, x157, Neg(Succ(Succ(Succ(x158)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x158), Succ(Zero)))), x159, ty_Int), new_pr2F0G10(x160, x161, Neg(Succ(Succ(Succ(x162)))), True, x163, ty_Int) -> new_pr2F0G(x160, new_sr1(x161, x163), Neg(Succ(new_primDivNatS1(Succ(x162), Succ(Zero)))), x163, ty_Int) which results in the following constraint: (1) (new_pr2F0G10(x156, x157, Neg(Succ(Succ(Succ(x158)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x158), Succ(Zero)))), x159, ty_Int)=new_pr2F0G10(x160, x161, Neg(Succ(Succ(Succ(x162)))), True, x163, ty_Int) ==> new_pr2F0G(x156, x157, Neg(Succ(Succ(Succ(x158)))), x159, ty_Int)_>=_new_pr2F0G10(x156, x157, Neg(Succ(Succ(Succ(x158)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x158), Succ(Zero)))), x159, ty_Int)) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(new_primDivNatS1(Succ(x158), Succ(Zero)))=x667 & new_primEvenNat0(x667)=True ==> new_pr2F0G(x156, x157, Neg(Succ(Succ(Succ(x158)))), x159, ty_Int)_>=_new_pr2F0G10(x156, x157, Neg(Succ(Succ(Succ(x158)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x158), Succ(Zero)))), x159, ty_Int)) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEvenNat0(x667)=True which results in the following new constraints: (3) (True=True & Succ(new_primDivNatS1(Succ(x158), Succ(Zero)))=Zero ==> new_pr2F0G(x156, x157, Neg(Succ(Succ(Succ(x158)))), x159, ty_Int)_>=_new_pr2F0G10(x156, x157, Neg(Succ(Succ(Succ(x158)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x158), Succ(Zero)))), x159, ty_Int)) (4) (new_primEvenNat0(x668)=True & Succ(new_primDivNatS1(Succ(x158), Succ(Zero)))=Succ(Succ(x668)) & (\/x669,x670,x671,x672:new_primEvenNat0(x668)=True & Succ(new_primDivNatS1(Succ(x669), Succ(Zero)))=x668 ==> new_pr2F0G(x670, x671, Neg(Succ(Succ(Succ(x669)))), x672, ty_Int)_>=_new_pr2F0G10(x670, x671, Neg(Succ(Succ(Succ(x669)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x669), Succ(Zero)))), x672, ty_Int)) ==> new_pr2F0G(x156, x157, Neg(Succ(Succ(Succ(x158)))), x159, ty_Int)_>=_new_pr2F0G10(x156, x157, Neg(Succ(Succ(Succ(x158)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x158), Succ(Zero)))), x159, ty_Int)) We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: (5) (new_primEvenNat0(x668)=True & Succ(x158)=x673 & Succ(Zero)=x674 & new_primDivNatS1(x673, x674)=Succ(x668) & (\/x669,x670,x671,x672:new_primEvenNat0(x668)=True & Succ(new_primDivNatS1(Succ(x669), Succ(Zero)))=x668 ==> new_pr2F0G(x670, x671, Neg(Succ(Succ(Succ(x669)))), x672, ty_Int)_>=_new_pr2F0G10(x670, x671, Neg(Succ(Succ(Succ(x669)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x669), Succ(Zero)))), x672, ty_Int)) ==> new_pr2F0G(x156, x157, Neg(Succ(Succ(Succ(x158)))), x159, ty_Int)_>=_new_pr2F0G10(x156, x157, Neg(Succ(Succ(Succ(x158)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x158), Succ(Zero)))), x159, ty_Int)) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x673, x674)=Succ(x668) which results in the following new constraints: (6) (new_primDivNatS01(x677, x676, x677, x676)=Succ(x668) & new_primEvenNat0(x668)=True & Succ(x158)=Succ(Succ(x677)) & Succ(Zero)=Succ(x676) & (\/x669,x670,x671,x672:new_primEvenNat0(x668)=True & Succ(new_primDivNatS1(Succ(x669), Succ(Zero)))=x668 ==> new_pr2F0G(x670, x671, Neg(Succ(Succ(Succ(x669)))), x672, ty_Int)_>=_new_pr2F0G10(x670, x671, Neg(Succ(Succ(Succ(x669)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x669), Succ(Zero)))), x672, ty_Int)) ==> new_pr2F0G(x156, x157, Neg(Succ(Succ(Succ(x158)))), x159, ty_Int)_>=_new_pr2F0G10(x156, x157, Neg(Succ(Succ(Succ(x158)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x158), Succ(Zero)))), x159, ty_Int)) (7) (Succ(new_primDivNatS1(new_primMinusNatS0(x679), Zero))=Succ(x668) & new_primEvenNat0(x668)=True & Succ(x158)=Succ(Succ(x679)) & Succ(Zero)=Zero & (\/x669,x670,x671,x672:new_primEvenNat0(x668)=True & Succ(new_primDivNatS1(Succ(x669), Succ(Zero)))=x668 ==> new_pr2F0G(x670, x671, Neg(Succ(Succ(Succ(x669)))), x672, ty_Int)_>=_new_pr2F0G10(x670, x671, Neg(Succ(Succ(Succ(x669)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x669), Succ(Zero)))), x672, ty_Int)) ==> new_pr2F0G(x156, x157, Neg(Succ(Succ(Succ(x158)))), x159, ty_Int)_>=_new_pr2F0G10(x156, x157, Neg(Succ(Succ(Succ(x158)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x158), Succ(Zero)))), x159, ty_Int)) (8) (Succ(new_primDivNatS1(new_primMinusNatS1, Zero))=Succ(x668) & new_primEvenNat0(x668)=True & Succ(x158)=Succ(Zero) & Succ(Zero)=Zero & (\/x669,x670,x671,x672:new_primEvenNat0(x668)=True & Succ(new_primDivNatS1(Succ(x669), Succ(Zero)))=x668 ==> new_pr2F0G(x670, x671, Neg(Succ(Succ(Succ(x669)))), x672, ty_Int)_>=_new_pr2F0G10(x670, x671, Neg(Succ(Succ(Succ(x669)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x669), Succ(Zero)))), x672, ty_Int)) ==> new_pr2F0G(x156, x157, Neg(Succ(Succ(Succ(x158)))), x159, ty_Int)_>=_new_pr2F0G10(x156, x157, Neg(Succ(Succ(Succ(x158)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x158), Succ(Zero)))), x159, ty_Int)) We simplified constraint (6) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (9) (x677=x680 & x676=x681 & new_primDivNatS01(x677, x676, x680, x681)=Succ(x668) & new_primEvenNat0(x668)=True & Zero=x676 ==> new_pr2F0G(x156, x157, Neg(Succ(Succ(Succ(Succ(x677))))), x159, ty_Int)_>=_new_pr2F0G10(x156, x157, Neg(Succ(Succ(Succ(Succ(x677))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(x677)), Succ(Zero)))), x159, ty_Int)) We solved constraint (7) using rules (I), (II).We solved constraint (8) using rules (I), (II).We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primEvenNat0(x668)=True which results in the following new constraints: (10) (True=True & x677=x680 & x676=x681 & new_primDivNatS01(x677, x676, x680, x681)=Succ(Zero) & Zero=x676 ==> new_pr2F0G(x156, x157, Neg(Succ(Succ(Succ(Succ(x677))))), x159, ty_Int)_>=_new_pr2F0G10(x156, x157, Neg(Succ(Succ(Succ(Succ(x677))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(x677)), Succ(Zero)))), x159, ty_Int)) (11) (new_primEvenNat0(x682)=True & x677=x680 & x676=x681 & new_primDivNatS01(x677, x676, x680, x681)=Succ(Succ(Succ(x682))) & Zero=x676 & (\/x683,x684,x685,x686,x687,x688,x689:new_primEvenNat0(x682)=True & x683=x684 & x685=x686 & new_primDivNatS01(x683, x685, x684, x686)=Succ(x682) & Zero=x685 ==> new_pr2F0G(x687, x688, Neg(Succ(Succ(Succ(Succ(x683))))), x689, ty_Int)_>=_new_pr2F0G10(x687, x688, Neg(Succ(Succ(Succ(Succ(x683))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(x683)), Succ(Zero)))), x689, ty_Int)) ==> new_pr2F0G(x156, x157, Neg(Succ(Succ(Succ(Succ(x677))))), x159, ty_Int)_>=_new_pr2F0G10(x156, x157, Neg(Succ(Succ(Succ(Succ(x677))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(x677)), Succ(Zero)))), x159, ty_Int)) We simplified constraint (10) using rules (I), (II) which results in the following new constraint: (12) (x677=x680 & x676=x681 & new_primDivNatS01(x677, x676, x680, x681)=Succ(Zero) & Zero=x676 ==> new_pr2F0G(x156, x157, Neg(Succ(Succ(Succ(Succ(x677))))), x159, ty_Int)_>=_new_pr2F0G10(x156, x157, Neg(Succ(Succ(Succ(Succ(x677))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(x677)), Succ(Zero)))), x159, ty_Int)) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS01(x677, x676, x680, x681)=Succ(Succ(Succ(x682))) which results in the following new constraints: (13) (new_primDivNatS02(x710, x709)=Succ(Succ(Succ(x682))) & new_primEvenNat0(x682)=True & x710=Zero & x709=Zero & Zero=x709 & (\/x683,x684,x685,x686,x687,x688,x689:new_primEvenNat0(x682)=True & x683=x684 & x685=x686 & new_primDivNatS01(x683, x685, x684, x686)=Succ(x682) & Zero=x685 ==> new_pr2F0G(x687, x688, Neg(Succ(Succ(Succ(Succ(x683))))), x689, ty_Int)_>=_new_pr2F0G10(x687, x688, Neg(Succ(Succ(Succ(Succ(x683))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(x683)), Succ(Zero)))), x689, ty_Int)) ==> new_pr2F0G(x156, x157, Neg(Succ(Succ(Succ(Succ(x710))))), x159, ty_Int)_>=_new_pr2F0G10(x156, x157, Neg(Succ(Succ(Succ(Succ(x710))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(x710)), Succ(Zero)))), x159, ty_Int)) (14) (new_primDivNatS02(x713, x712)=Succ(Succ(Succ(x682))) & new_primEvenNat0(x682)=True & x713=Succ(x711) & x712=Zero & Zero=x712 & (\/x683,x684,x685,x686,x687,x688,x689:new_primEvenNat0(x682)=True & x683=x684 & x685=x686 & new_primDivNatS01(x683, x685, x684, x686)=Succ(x682) & Zero=x685 ==> new_pr2F0G(x687, x688, Neg(Succ(Succ(Succ(Succ(x683))))), x689, ty_Int)_>=_new_pr2F0G10(x687, x688, Neg(Succ(Succ(Succ(Succ(x683))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(x683)), Succ(Zero)))), x689, ty_Int)) ==> new_pr2F0G(x156, x157, Neg(Succ(Succ(Succ(Succ(x713))))), x159, ty_Int)_>=_new_pr2F0G10(x156, x157, Neg(Succ(Succ(Succ(Succ(x713))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(x713)), Succ(Zero)))), x159, ty_Int)) (15) (new_primDivNatS01(x720, x719, x718, x717)=Succ(Succ(Succ(x682))) & new_primEvenNat0(x682)=True & x720=Succ(x718) & x719=Succ(x717) & Zero=x719 & (\/x683,x684,x685,x686,x687,x688,x689:new_primEvenNat0(x682)=True & x683=x684 & x685=x686 & new_primDivNatS01(x683, x685, x684, x686)=Succ(x682) & Zero=x685 ==> new_pr2F0G(x687, x688, Neg(Succ(Succ(Succ(Succ(x683))))), x689, ty_Int)_>=_new_pr2F0G10(x687, x688, Neg(Succ(Succ(Succ(Succ(x683))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(x683)), Succ(Zero)))), x689, ty_Int)) & (\/x721,x722,x723,x724,x725,x726,x727,x728,x729,x730,x731:new_primDivNatS01(x720, x719, x718, x717)=Succ(Succ(Succ(x721))) & new_primEvenNat0(x721)=True & x720=x718 & x719=x717 & Zero=x719 & (\/x722,x723,x724,x725,x726,x727,x728:new_primEvenNat0(x721)=True & x722=x723 & x724=x725 & new_primDivNatS01(x722, x724, x723, x725)=Succ(x721) & Zero=x724 ==> new_pr2F0G(x726, x727, Neg(Succ(Succ(Succ(Succ(x722))))), x728, ty_Int)_>=_new_pr2F0G10(x726, x727, Neg(Succ(Succ(Succ(Succ(x722))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(x722)), Succ(Zero)))), x728, ty_Int)) ==> new_pr2F0G(x729, x730, Neg(Succ(Succ(Succ(Succ(x720))))), x731, ty_Int)_>=_new_pr2F0G10(x729, x730, Neg(Succ(Succ(Succ(Succ(x720))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(x720)), Succ(Zero)))), x731, ty_Int)) ==> new_pr2F0G(x156, x157, Neg(Succ(Succ(Succ(Succ(x720))))), x159, ty_Int)_>=_new_pr2F0G10(x156, x157, Neg(Succ(Succ(Succ(Succ(x720))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(x720)), Succ(Zero)))), x159, ty_Int)) We simplified constraint (12) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS01(x677, x676, x680, x681)=Succ(Zero) which results in the following new constraints: (16) (new_primDivNatS02(x691, x690)=Succ(Zero) & x691=Zero & x690=Zero & Zero=x690 ==> new_pr2F0G(x156, x157, Neg(Succ(Succ(Succ(Succ(x691))))), x159, ty_Int)_>=_new_pr2F0G10(x156, x157, Neg(Succ(Succ(Succ(Succ(x691))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(x691)), Succ(Zero)))), x159, ty_Int)) (17) (new_primDivNatS02(x694, x693)=Succ(Zero) & x694=Succ(x692) & x693=Zero & Zero=x693 ==> new_pr2F0G(x156, x157, Neg(Succ(Succ(Succ(Succ(x694))))), x159, ty_Int)_>=_new_pr2F0G10(x156, x157, Neg(Succ(Succ(Succ(Succ(x694))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(x694)), Succ(Zero)))), x159, ty_Int)) (18) (new_primDivNatS01(x701, x700, x699, x698)=Succ(Zero) & x701=Succ(x699) & x700=Succ(x698) & Zero=x700 & (\/x702,x703,x704:new_primDivNatS01(x701, x700, x699, x698)=Succ(Zero) & x701=x699 & x700=x698 & Zero=x700 ==> new_pr2F0G(x702, x703, Neg(Succ(Succ(Succ(Succ(x701))))), x704, ty_Int)_>=_new_pr2F0G10(x702, x703, Neg(Succ(Succ(Succ(Succ(x701))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(x701)), Succ(Zero)))), x704, ty_Int)) ==> new_pr2F0G(x156, x157, Neg(Succ(Succ(Succ(Succ(x701))))), x159, ty_Int)_>=_new_pr2F0G10(x156, x157, Neg(Succ(Succ(Succ(Succ(x701))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(x701)), Succ(Zero)))), x159, ty_Int)) We simplified constraint (16) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (19) (new_pr2F0G(x156, x157, Neg(Succ(Succ(Succ(Succ(Zero))))), x159, ty_Int)_>=_new_pr2F0G10(x156, x157, Neg(Succ(Succ(Succ(Succ(Zero))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero)))), x159, ty_Int)) We simplified constraint (17) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (20) (new_pr2F0G(x156, x157, Neg(Succ(Succ(Succ(Succ(Succ(x692)))))), x159, ty_Int)_>=_new_pr2F0G10(x156, x157, Neg(Succ(Succ(Succ(Succ(Succ(x692)))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(Succ(x692))), Succ(Zero)))), x159, ty_Int)) We solved constraint (18) using rules (I), (II), (III).We simplified constraint (13) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (21) (new_pr2F0G(x156, x157, Neg(Succ(Succ(Succ(Succ(Zero))))), x159, ty_Int)_>=_new_pr2F0G10(x156, x157, Neg(Succ(Succ(Succ(Succ(Zero))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero)))), x159, ty_Int)) We solved constraint (14) using rules (I), (II), (III), (IV), (VII).We solved constraint (15) using rules (I), (II), (III). For Pair new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) the following chains were created: *We consider the chain new_pr2F0G10(x196, x197, Neg(Succ(Succ(Succ(x198)))), True, x199, ty_Int) -> new_pr2F0G(x196, new_sr1(x197, x199), Neg(Succ(new_primDivNatS1(Succ(x198), Succ(Zero)))), x199, ty_Int), new_pr2F0G(x200, x201, Neg(Succ(Succ(Succ(x202)))), x203, ty_Int) -> new_pr2F0G10(x200, x201, Neg(Succ(Succ(Succ(x202)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x202), Succ(Zero)))), x203, ty_Int) which results in the following constraint: (1) (new_pr2F0G(x196, new_sr1(x197, x199), Neg(Succ(new_primDivNatS1(Succ(x198), Succ(Zero)))), x199, ty_Int)=new_pr2F0G(x200, x201, Neg(Succ(Succ(Succ(x202)))), x203, ty_Int) ==> new_pr2F0G10(x196, x197, Neg(Succ(Succ(Succ(x198)))), True, x199, ty_Int)_>=_new_pr2F0G(x196, new_sr1(x197, x199), Neg(Succ(new_primDivNatS1(Succ(x198), Succ(Zero)))), x199, ty_Int)) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(x198)=x736 & Succ(Zero)=x737 & new_primDivNatS1(x736, x737)=Succ(Succ(x202)) ==> new_pr2F0G10(x196, x197, Neg(Succ(Succ(Succ(x198)))), True, x199, ty_Int)_>=_new_pr2F0G(x196, new_sr1(x197, x199), Neg(Succ(new_primDivNatS1(Succ(x198), Succ(Zero)))), x199, ty_Int)) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x736, x737)=Succ(Succ(x202)) which results in the following new constraints: (3) (new_primDivNatS01(x740, x739, x740, x739)=Succ(Succ(x202)) & Succ(x198)=Succ(Succ(x740)) & Succ(Zero)=Succ(x739) ==> new_pr2F0G10(x196, x197, Neg(Succ(Succ(Succ(x198)))), True, x199, ty_Int)_>=_new_pr2F0G(x196, new_sr1(x197, x199), Neg(Succ(new_primDivNatS1(Succ(x198), Succ(Zero)))), x199, ty_Int)) (4) (Succ(new_primDivNatS1(new_primMinusNatS0(x742), Zero))=Succ(Succ(x202)) & Succ(x198)=Succ(Succ(x742)) & Succ(Zero)=Zero ==> new_pr2F0G10(x196, x197, Neg(Succ(Succ(Succ(x198)))), True, x199, ty_Int)_>=_new_pr2F0G(x196, new_sr1(x197, x199), Neg(Succ(new_primDivNatS1(Succ(x198), Succ(Zero)))), x199, ty_Int)) (5) (Succ(new_primDivNatS1(new_primMinusNatS1, Zero))=Succ(Succ(x202)) & Succ(x198)=Succ(Zero) & Succ(Zero)=Zero ==> new_pr2F0G10(x196, x197, Neg(Succ(Succ(Succ(x198)))), True, x199, ty_Int)_>=_new_pr2F0G(x196, new_sr1(x197, x199), Neg(Succ(new_primDivNatS1(Succ(x198), Succ(Zero)))), x199, ty_Int)) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (6) (x740=x743 & x739=x744 & new_primDivNatS01(x740, x739, x743, x744)=Succ(Succ(x202)) & Zero=x739 ==> new_pr2F0G10(x196, x197, Neg(Succ(Succ(Succ(Succ(x740))))), True, x199, ty_Int)_>=_new_pr2F0G(x196, new_sr1(x197, x199), Neg(Succ(new_primDivNatS1(Succ(Succ(x740)), Succ(Zero)))), x199, ty_Int)) 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_primDivNatS01(x740, x739, x743, x744)=Succ(Succ(x202)) which results in the following new constraints: (7) (new_primDivNatS02(x746, x745)=Succ(Succ(x202)) & x746=Zero & x745=Zero & Zero=x745 ==> new_pr2F0G10(x196, x197, Neg(Succ(Succ(Succ(Succ(x746))))), True, x199, ty_Int)_>=_new_pr2F0G(x196, new_sr1(x197, x199), Neg(Succ(new_primDivNatS1(Succ(Succ(x746)), Succ(Zero)))), x199, ty_Int)) (8) (new_primDivNatS02(x749, x748)=Succ(Succ(x202)) & x749=Succ(x747) & x748=Zero & Zero=x748 ==> new_pr2F0G10(x196, x197, Neg(Succ(Succ(Succ(Succ(x749))))), True, x199, ty_Int)_>=_new_pr2F0G(x196, new_sr1(x197, x199), Neg(Succ(new_primDivNatS1(Succ(Succ(x749)), Succ(Zero)))), x199, ty_Int)) (9) (new_primDivNatS01(x756, x755, x754, x753)=Succ(Succ(x202)) & x756=Succ(x754) & x755=Succ(x753) & Zero=x755 & (\/x757,x758,x759,x760:new_primDivNatS01(x756, x755, x754, x753)=Succ(Succ(x757)) & x756=x754 & x755=x753 & Zero=x755 ==> new_pr2F0G10(x758, x759, Neg(Succ(Succ(Succ(Succ(x756))))), True, x760, ty_Int)_>=_new_pr2F0G(x758, new_sr1(x759, x760), Neg(Succ(new_primDivNatS1(Succ(Succ(x756)), Succ(Zero)))), x760, ty_Int)) ==> new_pr2F0G10(x196, x197, Neg(Succ(Succ(Succ(Succ(x756))))), True, x199, ty_Int)_>=_new_pr2F0G(x196, new_sr1(x197, x199), Neg(Succ(new_primDivNatS1(Succ(Succ(x756)), Succ(Zero)))), x199, ty_Int)) We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (10) (new_pr2F0G10(x196, x197, Neg(Succ(Succ(Succ(Succ(Zero))))), True, x199, ty_Int)_>=_new_pr2F0G(x196, new_sr1(x197, x199), Neg(Succ(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero)))), x199, ty_Int)) We simplified constraint (8) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (11) (new_pr2F0G10(x196, x197, Neg(Succ(Succ(Succ(Succ(Succ(x747)))))), True, x199, ty_Int)_>=_new_pr2F0G(x196, new_sr1(x197, x199), Neg(Succ(new_primDivNatS1(Succ(Succ(Succ(x747))), Succ(Zero)))), x199, ty_Int)) We solved constraint (9) using rules (I), (II), (III). For Pair new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)))), y3, ty_Int) the following chains were created: *We consider the chain new_pr2F0G11(x252, x253, Neg(Succ(Succ(Succ(x254)))), False, x255, ty_Int) -> new_pr2F0G0(new_sr2(x252, x255), x253, Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x254), Succ(Zero)), Zero)))), x255, ty_Int), new_pr2F0G0(x256, x257, Neg(Succ(x258)), x259, ty_Int) -> new_pr2F3(False, x256, Neg(Succ(x258)), x257, x259, ty_Int) which results in the following constraint: (1) (new_pr2F0G0(new_sr2(x252, x255), x253, Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x254), Succ(Zero)), Zero)))), x255, ty_Int)=new_pr2F0G0(x256, x257, Neg(Succ(x258)), x259, ty_Int) ==> new_pr2F0G11(x252, x253, Neg(Succ(Succ(Succ(x254)))), False, x255, ty_Int)_>=_new_pr2F0G0(new_sr2(x252, x255), x253, Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x254), Succ(Zero)), Zero)))), x255, ty_Int)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G11(x252, x253, Neg(Succ(Succ(Succ(x254)))), False, x255, ty_Int)_>=_new_pr2F0G0(new_sr2(x252, x255), x253, Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x254), Succ(Zero)), Zero)))), x255, ty_Int)) For Pair new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Succ(x0)), y1, y3, ty_Int) the following chains were created: *We consider the chain new_pr2F0G0(x300, x301, Neg(Succ(x302)), x303, ty_Int) -> new_pr2F3(False, x300, Neg(Succ(x302)), x301, x303, ty_Int), new_pr2F3(False, x304, Neg(Succ(Succ(x305))), x306, x307, ty_Int) -> new_pr2F0G1(x304, x306, Neg(Succ(Succ(x305))), new_primEvenNat0(Succ(x305)), x307, ty_Int) which results in the following constraint: (1) (new_pr2F3(False, x300, Neg(Succ(x302)), x301, x303, ty_Int)=new_pr2F3(False, x304, Neg(Succ(Succ(x305))), x306, x307, ty_Int) ==> new_pr2F0G0(x300, x301, Neg(Succ(x302)), x303, ty_Int)_>=_new_pr2F3(False, x300, Neg(Succ(x302)), x301, x303, ty_Int)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G0(x300, x301, Neg(Succ(Succ(x305))), x303, ty_Int)_>=_new_pr2F3(False, x300, Neg(Succ(Succ(x305))), x301, x303, ty_Int)) For Pair new_pr2F3(False, y0, Neg(Succ(Succ(x0))), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(Succ(x0))), new_primEvenNat0(Succ(x0)), y3, ty_Int) the following chains were created: *We consider the chain new_pr2F3(False, x348, Neg(Succ(Succ(x349))), x350, x351, ty_Int) -> new_pr2F0G1(x348, x350, Neg(Succ(Succ(x349))), new_primEvenNat0(Succ(x349)), x351, ty_Int), new_pr2F0G1(x352, x353, Neg(Succ(x354)), False, x355, ty_Int) -> new_pr2F0G0(x352, new_sr(x352, x353, x355), Neg(Succ(Succ(new_primPlusNat0(x354, Zero)))), x355, ty_Int) which results in the following constraint: (1) (new_pr2F0G1(x348, x350, Neg(Succ(Succ(x349))), new_primEvenNat0(Succ(x349)), x351, ty_Int)=new_pr2F0G1(x352, x353, Neg(Succ(x354)), False, x355, ty_Int) ==> new_pr2F3(False, x348, Neg(Succ(Succ(x349))), x350, x351, ty_Int)_>=_new_pr2F0G1(x348, x350, Neg(Succ(Succ(x349))), new_primEvenNat0(Succ(x349)), x351, ty_Int)) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(x349)=x765 & new_primEvenNat0(x765)=False ==> new_pr2F3(False, x348, Neg(Succ(Succ(x349))), x350, x351, ty_Int)_>=_new_pr2F0G1(x348, x350, Neg(Succ(Succ(x349))), new_primEvenNat0(Succ(x349)), x351, ty_Int)) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEvenNat0(x765)=False which results in the following new constraints: (3) (False=False & Succ(x349)=Succ(Zero) ==> new_pr2F3(False, x348, Neg(Succ(Succ(x349))), x350, x351, ty_Int)_>=_new_pr2F0G1(x348, x350, Neg(Succ(Succ(x349))), new_primEvenNat0(Succ(x349)), x351, ty_Int)) (4) (new_primEvenNat0(x766)=False & Succ(x349)=Succ(Succ(x766)) & (\/x767,x768,x769,x770:new_primEvenNat0(x766)=False & Succ(x767)=x766 ==> new_pr2F3(False, x768, Neg(Succ(Succ(x767))), x769, x770, ty_Int)_>=_new_pr2F0G1(x768, x769, Neg(Succ(Succ(x767))), new_primEvenNat0(Succ(x767)), x770, ty_Int)) ==> new_pr2F3(False, x348, Neg(Succ(Succ(x349))), x350, x351, ty_Int)_>=_new_pr2F0G1(x348, x350, Neg(Succ(Succ(x349))), new_primEvenNat0(Succ(x349)), x351, ty_Int)) We simplified constraint (3) using rules (I), (II), (III) which results in the following new constraint: (5) (new_pr2F3(False, x348, Neg(Succ(Succ(Zero))), x350, x351, ty_Int)_>=_new_pr2F0G1(x348, x350, Neg(Succ(Succ(Zero))), new_primEvenNat0(Succ(Zero)), x351, ty_Int)) We simplified constraint (4) using rules (I), (II), (III), (IV) which results in the following new constraint: (6) (new_primEvenNat0(x766)=False ==> new_pr2F3(False, x348, Neg(Succ(Succ(Succ(x766)))), x350, x351, ty_Int)_>=_new_pr2F0G1(x348, x350, Neg(Succ(Succ(Succ(x766)))), new_primEvenNat0(Succ(Succ(x766))), x351, ty_Int)) We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primEvenNat0(x766)=False which results in the following new constraints: (7) (False=False ==> new_pr2F3(False, x348, Neg(Succ(Succ(Succ(Succ(Zero))))), x350, x351, ty_Int)_>=_new_pr2F0G1(x348, x350, Neg(Succ(Succ(Succ(Succ(Zero))))), new_primEvenNat0(Succ(Succ(Succ(Zero)))), x351, ty_Int)) (8) (new_primEvenNat0(x771)=False & (\/x772,x773,x774:new_primEvenNat0(x771)=False ==> new_pr2F3(False, x772, Neg(Succ(Succ(Succ(x771)))), x773, x774, ty_Int)_>=_new_pr2F0G1(x772, x773, Neg(Succ(Succ(Succ(x771)))), new_primEvenNat0(Succ(Succ(x771))), x774, ty_Int)) ==> new_pr2F3(False, x348, Neg(Succ(Succ(Succ(Succ(Succ(x771)))))), x350, x351, ty_Int)_>=_new_pr2F0G1(x348, x350, Neg(Succ(Succ(Succ(Succ(Succ(x771)))))), new_primEvenNat0(Succ(Succ(Succ(Succ(x771))))), x351, ty_Int)) We simplified constraint (7) using rules (I), (II) which results in the following new constraint: (9) (new_pr2F3(False, x348, Neg(Succ(Succ(Succ(Succ(Zero))))), x350, x351, ty_Int)_>=_new_pr2F0G1(x348, x350, Neg(Succ(Succ(Succ(Succ(Zero))))), new_primEvenNat0(Succ(Succ(Succ(Zero)))), x351, ty_Int)) We simplified constraint (8) using rule (VI) where we applied the induction hypothesis (\/x772,x773,x774:new_primEvenNat0(x771)=False ==> new_pr2F3(False, x772, Neg(Succ(Succ(Succ(x771)))), x773, x774, ty_Int)_>=_new_pr2F0G1(x772, x773, Neg(Succ(Succ(Succ(x771)))), new_primEvenNat0(Succ(Succ(x771))), x774, ty_Int)) with sigma = [x772 / x348, x773 / x350, x774 / x351] which results in the following new constraint: (10) (new_pr2F3(False, x348, Neg(Succ(Succ(Succ(x771)))), x350, x351, ty_Int)_>=_new_pr2F0G1(x348, x350, Neg(Succ(Succ(Succ(x771)))), new_primEvenNat0(Succ(Succ(x771))), x351, ty_Int) ==> new_pr2F3(False, x348, Neg(Succ(Succ(Succ(Succ(Succ(x771)))))), x350, x351, ty_Int)_>=_new_pr2F0G1(x348, x350, Neg(Succ(Succ(Succ(Succ(Succ(x771)))))), new_primEvenNat0(Succ(Succ(Succ(Succ(x771))))), x351, ty_Int)) *We consider the chain new_pr2F3(False, x356, Neg(Succ(Succ(x357))), x358, x359, ty_Int) -> new_pr2F0G1(x356, x358, Neg(Succ(Succ(x357))), new_primEvenNat0(Succ(x357)), x359, ty_Int), new_pr2F0G1(x360, x361, Neg(Succ(Succ(x362))), True, x363, ty_Int) -> new_pr2F0G(new_sr0(x360, x361, x363), x360, Neg(Succ(Succ(Succ(x362)))), x363, ty_Int) which results in the following constraint: (1) (new_pr2F0G1(x356, x358, Neg(Succ(Succ(x357))), new_primEvenNat0(Succ(x357)), x359, ty_Int)=new_pr2F0G1(x360, x361, Neg(Succ(Succ(x362))), True, x363, ty_Int) ==> new_pr2F3(False, x356, Neg(Succ(Succ(x357))), x358, x359, ty_Int)_>=_new_pr2F0G1(x356, x358, Neg(Succ(Succ(x357))), new_primEvenNat0(Succ(x357)), x359, ty_Int)) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(x357)=x775 & new_primEvenNat0(x775)=True ==> new_pr2F3(False, x356, Neg(Succ(Succ(x357))), x358, x359, ty_Int)_>=_new_pr2F0G1(x356, x358, Neg(Succ(Succ(x357))), new_primEvenNat0(Succ(x357)), x359, ty_Int)) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEvenNat0(x775)=True which results in the following new constraints: (3) (True=True & Succ(x357)=Zero ==> new_pr2F3(False, x356, Neg(Succ(Succ(x357))), x358, x359, ty_Int)_>=_new_pr2F0G1(x356, x358, Neg(Succ(Succ(x357))), new_primEvenNat0(Succ(x357)), x359, ty_Int)) (4) (new_primEvenNat0(x776)=True & Succ(x357)=Succ(Succ(x776)) & (\/x777,x778,x779,x780:new_primEvenNat0(x776)=True & Succ(x777)=x776 ==> new_pr2F3(False, x778, Neg(Succ(Succ(x777))), x779, x780, ty_Int)_>=_new_pr2F0G1(x778, x779, Neg(Succ(Succ(x777))), new_primEvenNat0(Succ(x777)), x780, ty_Int)) ==> new_pr2F3(False, x356, Neg(Succ(Succ(x357))), x358, x359, ty_Int)_>=_new_pr2F0G1(x356, x358, Neg(Succ(Succ(x357))), new_primEvenNat0(Succ(x357)), x359, ty_Int)) We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (III), (IV) which results in the following new constraint: (5) (new_primEvenNat0(x776)=True ==> new_pr2F3(False, x356, Neg(Succ(Succ(Succ(x776)))), x358, x359, ty_Int)_>=_new_pr2F0G1(x356, x358, Neg(Succ(Succ(Succ(x776)))), new_primEvenNat0(Succ(Succ(x776))), x359, ty_Int)) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primEvenNat0(x776)=True which results in the following new constraints: (6) (True=True ==> new_pr2F3(False, x356, Neg(Succ(Succ(Succ(Zero)))), x358, x359, ty_Int)_>=_new_pr2F0G1(x356, x358, Neg(Succ(Succ(Succ(Zero)))), new_primEvenNat0(Succ(Succ(Zero))), x359, ty_Int)) (7) (new_primEvenNat0(x781)=True & (\/x782,x783,x784:new_primEvenNat0(x781)=True ==> new_pr2F3(False, x782, Neg(Succ(Succ(Succ(x781)))), x783, x784, ty_Int)_>=_new_pr2F0G1(x782, x783, Neg(Succ(Succ(Succ(x781)))), new_primEvenNat0(Succ(Succ(x781))), x784, ty_Int)) ==> new_pr2F3(False, x356, Neg(Succ(Succ(Succ(Succ(Succ(x781)))))), x358, x359, ty_Int)_>=_new_pr2F0G1(x356, x358, Neg(Succ(Succ(Succ(Succ(Succ(x781)))))), new_primEvenNat0(Succ(Succ(Succ(Succ(x781))))), x359, ty_Int)) We simplified constraint (6) using rules (I), (II) which results in the following new constraint: (8) (new_pr2F3(False, x356, Neg(Succ(Succ(Succ(Zero)))), x358, x359, ty_Int)_>=_new_pr2F0G1(x356, x358, Neg(Succ(Succ(Succ(Zero)))), new_primEvenNat0(Succ(Succ(Zero))), x359, ty_Int)) We simplified constraint (7) using rule (VI) where we applied the induction hypothesis (\/x782,x783,x784:new_primEvenNat0(x781)=True ==> new_pr2F3(False, x782, Neg(Succ(Succ(Succ(x781)))), x783, x784, ty_Int)_>=_new_pr2F0G1(x782, x783, Neg(Succ(Succ(Succ(x781)))), new_primEvenNat0(Succ(Succ(x781))), x784, ty_Int)) with sigma = [x782 / x356, x783 / x358, x784 / x359] which results in the following new constraint: (9) (new_pr2F3(False, x356, Neg(Succ(Succ(Succ(x781)))), x358, x359, ty_Int)_>=_new_pr2F0G1(x356, x358, Neg(Succ(Succ(Succ(x781)))), new_primEvenNat0(Succ(Succ(x781))), x359, ty_Int) ==> new_pr2F3(False, x356, Neg(Succ(Succ(Succ(Succ(Succ(x781)))))), x358, x359, ty_Int)_>=_new_pr2F0G1(x356, x358, Neg(Succ(Succ(Succ(Succ(Succ(x781)))))), new_primEvenNat0(Succ(Succ(Succ(Succ(x781))))), x359, ty_Int)) For Pair new_pr2F0G1(y0, y1, Neg(Succ(x0)), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(Succ(Succ(new_primPlusNat0(x0, Zero)))), y3, ty_Int) the following chains were created: *We consider the chain new_pr2F0G1(x388, x389, Neg(Succ(x390)), False, x391, ty_Int) -> new_pr2F0G0(x388, new_sr(x388, x389, x391), Neg(Succ(Succ(new_primPlusNat0(x390, Zero)))), x391, ty_Int), new_pr2F0G0(x392, x393, Neg(Succ(x394)), x395, ty_Int) -> new_pr2F3(False, x392, Neg(Succ(x394)), x393, x395, ty_Int) which results in the following constraint: (1) (new_pr2F0G0(x388, new_sr(x388, x389, x391), Neg(Succ(Succ(new_primPlusNat0(x390, Zero)))), x391, ty_Int)=new_pr2F0G0(x392, x393, Neg(Succ(x394)), x395, ty_Int) ==> new_pr2F0G1(x388, x389, Neg(Succ(x390)), False, x391, ty_Int)_>=_new_pr2F0G0(x388, new_sr(x388, x389, x391), Neg(Succ(Succ(new_primPlusNat0(x390, Zero)))), x391, ty_Int)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G1(x388, x389, Neg(Succ(x390)), False, x391, ty_Int)_>=_new_pr2F0G0(x388, new_sr(x388, x389, x391), Neg(Succ(Succ(new_primPlusNat0(x390, Zero)))), x391, ty_Int)) For Pair new_pr2F0G1(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(Succ(Succ(Succ(x0)))), y3, ty_Int) the following chains were created: *We consider the chain new_pr2F0G1(x420, x421, Neg(Succ(Succ(x422))), True, x423, ty_Int) -> new_pr2F0G(new_sr0(x420, x421, x423), x420, Neg(Succ(Succ(Succ(x422)))), x423, ty_Int), new_pr2F0G(x424, x425, Neg(Succ(Succ(Succ(x426)))), x427, ty_Int) -> new_pr2F0G10(x424, x425, Neg(Succ(Succ(Succ(x426)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x426), Succ(Zero)))), x427, ty_Int) which results in the following constraint: (1) (new_pr2F0G(new_sr0(x420, x421, x423), x420, Neg(Succ(Succ(Succ(x422)))), x423, ty_Int)=new_pr2F0G(x424, x425, Neg(Succ(Succ(Succ(x426)))), x427, ty_Int) ==> new_pr2F0G1(x420, x421, Neg(Succ(Succ(x422))), True, x423, ty_Int)_>=_new_pr2F0G(new_sr0(x420, x421, x423), x420, Neg(Succ(Succ(Succ(x422)))), x423, ty_Int)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G1(x420, x421, Neg(Succ(Succ(x422))), True, x423, ty_Int)_>=_new_pr2F0G(new_sr0(x420, x421, x423), x420, Neg(Succ(Succ(Succ(x422)))), x423, ty_Int)) To summarize, we get the following constraints P__>=_ for the following pairs. *new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) *(new_pr2F0G10(x4, x5, Neg(Succ(Succ(Succ(x6)))), False, x7, ty_Int)_>=_new_pr2F30(False, x5, Neg(Succ(Succ(Succ(x6)))), x4, x7, ty_Int)) *new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) *(new_pr2F30(False, x52, Neg(Succ(Succ(Succ(x53)))), x54, x55, ty_Int)_>=_new_pr2F0G11(x52, x54, Neg(Succ(Succ(Succ(x53)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x53), Succ(Zero)), Zero)), x55, ty_Int)) *(new_pr2F30(False, x52, Neg(Succ(Succ(Succ(x53)))), x54, x55, ty_Int)_>=_new_pr2F0G11(x52, x54, Neg(Succ(Succ(Succ(x53)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x53), Succ(Zero)), Zero)), x55, ty_Int)) *(new_pr2F30(False, x52, Neg(Succ(Succ(Succ(x53)))), x54, x55, ty_Int)_>=_new_pr2F0G11(x52, x54, Neg(Succ(Succ(Succ(x53)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x53), Succ(Zero)), Zero)), x55, ty_Int) ==> new_pr2F30(False, x52, Neg(Succ(Succ(Succ(x53)))), x54, x55, ty_Int)_>=_new_pr2F0G11(x52, x54, Neg(Succ(Succ(Succ(x53)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x53), Succ(Zero)), Zero)), x55, ty_Int)) *(new_pr2F30(False, x68, Neg(Succ(Succ(Succ(x69)))), x70, x71, ty_Int)_>=_new_pr2F0G11(x68, x70, Neg(Succ(Succ(Succ(x69)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x69), Succ(Zero)), Zero)), x71, ty_Int)) *(new_pr2F30(False, x68, Neg(Succ(Succ(Succ(x69)))), x70, x71, ty_Int)_>=_new_pr2F0G11(x68, x70, Neg(Succ(Succ(Succ(x69)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x69), Succ(Zero)), Zero)), x71, ty_Int)) *(new_pr2F30(False, x68, Neg(Succ(Succ(Succ(x69)))), x70, x71, ty_Int)_>=_new_pr2F0G11(x68, x70, Neg(Succ(Succ(Succ(x69)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x69), Succ(Zero)), Zero)), x71, ty_Int) ==> new_pr2F30(False, x68, Neg(Succ(Succ(Succ(x69)))), x70, x71, ty_Int)_>=_new_pr2F0G11(x68, x70, Neg(Succ(Succ(Succ(x69)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x69), Succ(Zero)), Zero)), x71, ty_Int)) *new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)))), y3, ty_Int) *(new_pr2F0G11(x104, x105, Neg(Succ(Succ(Succ(Succ(Zero))))), True, x107, ty_Int)_>=_new_pr2F0G(new_sr4(x104, x105, x107), new_sr3(x104, x107), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero)), Zero)))), x107, ty_Int)) *(new_pr2F0G11(x104, x105, Neg(Succ(Succ(Succ(Succ(Succ(x552)))))), True, x107, ty_Int)_>=_new_pr2F0G(new_sr4(x104, x105, x107), new_sr3(x104, x107), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(Succ(Succ(x552))), Succ(Zero)), Zero)))), x107, ty_Int)) *new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) *(new_pr2F0G(x136, x137, Neg(Succ(Succ(Succ(Zero)))), x139, ty_Int)_>=_new_pr2F0G10(x136, x137, Neg(Succ(Succ(Succ(Zero)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Zero), Succ(Zero)))), x139, ty_Int)) *(new_pr2F0G(x136, x137, Neg(Succ(Succ(Succ(Succ(Zero))))), x139, ty_Int)_>=_new_pr2F0G10(x136, x137, Neg(Succ(Succ(Succ(Succ(Zero))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero)))), x139, ty_Int)) *(new_pr2F0G(x136, x137, Neg(Succ(Succ(Succ(Succ(Succ(x587)))))), x139, ty_Int)_>=_new_pr2F0G10(x136, x137, Neg(Succ(Succ(Succ(Succ(Succ(x587)))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(Succ(x587))), Succ(Zero)))), x139, ty_Int)) *(new_pr2F0G(x136, x137, Neg(Succ(Succ(Succ(Succ(Zero))))), x139, ty_Int)_>=_new_pr2F0G10(x136, x137, Neg(Succ(Succ(Succ(Succ(Zero))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero)))), x139, ty_Int)) *(new_pr2F0G(x136, x137, Neg(Succ(Succ(Succ(Succ(Succ(x623)))))), x139, ty_Int)_>=_new_pr2F0G10(x136, x137, Neg(Succ(Succ(Succ(Succ(Succ(x623)))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(Succ(x623))), Succ(Zero)))), x139, ty_Int)) *(new_pr2F0G(x136, x137, Neg(Succ(Succ(Succ(Succ(Zero))))), x139, ty_Int)_>=_new_pr2F0G10(x136, x137, Neg(Succ(Succ(Succ(Succ(Zero))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero)))), x139, ty_Int)) *(new_pr2F0G(x156, x157, Neg(Succ(Succ(Succ(Succ(Zero))))), x159, ty_Int)_>=_new_pr2F0G10(x156, x157, Neg(Succ(Succ(Succ(Succ(Zero))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero)))), x159, ty_Int)) *(new_pr2F0G(x156, x157, Neg(Succ(Succ(Succ(Succ(Succ(x692)))))), x159, ty_Int)_>=_new_pr2F0G10(x156, x157, Neg(Succ(Succ(Succ(Succ(Succ(x692)))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(Succ(x692))), Succ(Zero)))), x159, ty_Int)) *(new_pr2F0G(x156, x157, Neg(Succ(Succ(Succ(Succ(Zero))))), x159, ty_Int)_>=_new_pr2F0G10(x156, x157, Neg(Succ(Succ(Succ(Succ(Zero))))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero)))), x159, ty_Int)) *new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) *(new_pr2F0G10(x196, x197, Neg(Succ(Succ(Succ(Succ(Zero))))), True, x199, ty_Int)_>=_new_pr2F0G(x196, new_sr1(x197, x199), Neg(Succ(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero)))), x199, ty_Int)) *(new_pr2F0G10(x196, x197, Neg(Succ(Succ(Succ(Succ(Succ(x747)))))), True, x199, ty_Int)_>=_new_pr2F0G(x196, new_sr1(x197, x199), Neg(Succ(new_primDivNatS1(Succ(Succ(Succ(x747))), Succ(Zero)))), x199, ty_Int)) *new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)))), y3, ty_Int) *(new_pr2F0G11(x252, x253, Neg(Succ(Succ(Succ(x254)))), False, x255, ty_Int)_>=_new_pr2F0G0(new_sr2(x252, x255), x253, Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x254), Succ(Zero)), Zero)))), x255, ty_Int)) *new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Succ(x0)), y1, y3, ty_Int) *(new_pr2F0G0(x300, x301, Neg(Succ(Succ(x305))), x303, ty_Int)_>=_new_pr2F3(False, x300, Neg(Succ(Succ(x305))), x301, x303, ty_Int)) *new_pr2F3(False, y0, Neg(Succ(Succ(x0))), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(Succ(x0))), new_primEvenNat0(Succ(x0)), y3, ty_Int) *(new_pr2F3(False, x348, Neg(Succ(Succ(Zero))), x350, x351, ty_Int)_>=_new_pr2F0G1(x348, x350, Neg(Succ(Succ(Zero))), new_primEvenNat0(Succ(Zero)), x351, ty_Int)) *(new_pr2F3(False, x348, Neg(Succ(Succ(Succ(Succ(Zero))))), x350, x351, ty_Int)_>=_new_pr2F0G1(x348, x350, Neg(Succ(Succ(Succ(Succ(Zero))))), new_primEvenNat0(Succ(Succ(Succ(Zero)))), x351, ty_Int)) *(new_pr2F3(False, x348, Neg(Succ(Succ(Succ(x771)))), x350, x351, ty_Int)_>=_new_pr2F0G1(x348, x350, Neg(Succ(Succ(Succ(x771)))), new_primEvenNat0(Succ(Succ(x771))), x351, ty_Int) ==> new_pr2F3(False, x348, Neg(Succ(Succ(Succ(Succ(Succ(x771)))))), x350, x351, ty_Int)_>=_new_pr2F0G1(x348, x350, Neg(Succ(Succ(Succ(Succ(Succ(x771)))))), new_primEvenNat0(Succ(Succ(Succ(Succ(x771))))), x351, ty_Int)) *(new_pr2F3(False, x356, Neg(Succ(Succ(Succ(Zero)))), x358, x359, ty_Int)_>=_new_pr2F0G1(x356, x358, Neg(Succ(Succ(Succ(Zero)))), new_primEvenNat0(Succ(Succ(Zero))), x359, ty_Int)) *(new_pr2F3(False, x356, Neg(Succ(Succ(Succ(x781)))), x358, x359, ty_Int)_>=_new_pr2F0G1(x356, x358, Neg(Succ(Succ(Succ(x781)))), new_primEvenNat0(Succ(Succ(x781))), x359, ty_Int) ==> new_pr2F3(False, x356, Neg(Succ(Succ(Succ(Succ(Succ(x781)))))), x358, x359, ty_Int)_>=_new_pr2F0G1(x356, x358, Neg(Succ(Succ(Succ(Succ(Succ(x781)))))), new_primEvenNat0(Succ(Succ(Succ(Succ(x781))))), x359, ty_Int)) *new_pr2F0G1(y0, y1, Neg(Succ(x0)), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(Succ(Succ(new_primPlusNat0(x0, Zero)))), y3, ty_Int) *(new_pr2F0G1(x388, x389, Neg(Succ(x390)), False, x391, ty_Int)_>=_new_pr2F0G0(x388, new_sr(x388, x389, x391), Neg(Succ(Succ(new_primPlusNat0(x390, Zero)))), x391, ty_Int)) *new_pr2F0G1(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(Succ(Succ(Succ(x0)))), y3, ty_Int) *(new_pr2F0G1(x420, x421, Neg(Succ(Succ(x422))), True, x423, ty_Int)_>=_new_pr2F0G(new_sr0(x420, x421, x423), x420, Neg(Succ(Succ(Succ(x422)))), x423, ty_Int)) 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. ---------------------------------------- (481) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(False, y1, Neg(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Neg(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)))), y3, ty_Int) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Neg(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, Neg(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, Neg(Succ(Succ(new_primPlusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)))), y3, ty_Int) new_pr2F0G0(y0, y1, Neg(Succ(x0)), y3, ty_Int) -> new_pr2F3(False, y0, Neg(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Neg(Succ(Succ(x0))), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Neg(Succ(Succ(x0))), new_primEvenNat0(Succ(x0)), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(Succ(x0)), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(Succ(Succ(new_primPlusNat0(x0, Zero)))), y3, ty_Int) new_pr2F0G1(y0, y1, Neg(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(Succ(Succ(Succ(x0)))), y3, ty_Int) The TRS R consists of the following rules: new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) The set Q consists of the following terms: new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (482) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(x0)), new_even2(new_primMinusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) The TRS R consists of the following rules: new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_ms3(Pos(vyv2460), Pos(vyv2450)) -> new_primMinusNat0(vyv2460, vyv2450) new_ms3(Neg(vyv2460), Pos(vyv2450)) -> Neg(new_primPlusNat0(vyv2460, vyv2450)) 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_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_primDivNatS2(Succ(Succ(vyv222000))) -> new_primDivNatS01(vyv222000, Zero, vyv222000, Zero) new_primDivNatS2(Succ(Zero)) -> Zero new_primDivNatS2(Zero) -> Zero new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (483) 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. ---------------------------------------- (484) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(x0)), new_even2(new_primMinusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_primDivNatS2(Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primDivNatS2(Succ(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_ms3(Pos(x0), Pos(x1)) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_ms3(Neg(x0), Neg(x1)) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primDivNatS2(Succ(Succ(x0))) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_ms3(Pos(x0), Neg(x1)) new_ms3(Neg(x0), Pos(x1)) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (485) 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_primDivNatS2(Zero) new_primDivNatS2(Succ(Zero)) new_ms3(Pos(x0), Pos(x1)) new_ms3(Neg(x0), Neg(x1)) new_primDivNatS2(Succ(Succ(x0))) new_ms3(Pos(x0), Neg(x1)) new_ms3(Neg(x0), Pos(x1)) ---------------------------------------- (486) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(x0)), new_even2(new_primMinusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (487) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G10(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS01(x0, Zero, x0, Zero)), y3, ty_Int) at position [2,0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS02(Zero, Zero)), y3, ty_Int),new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS02(Zero, Zero)), y3, ty_Int)) (new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS02(Succ(x2), Zero)), y3, ty_Int),new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS02(Succ(x2), Zero)), y3, ty_Int)) ---------------------------------------- (488) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(x0)), new_even2(new_primMinusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Zero))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS02(Zero, Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS02(Succ(x2), Zero)), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (489) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (490) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS02(Succ(x2), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(x0)), new_even2(new_primMinusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (491) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(new_primDivNatS02(Succ(x2), Zero)), y3, ty_Int) at position [2,0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), y3, ty_Int),new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), y3, ty_Int)) ---------------------------------------- (492) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(x0)), new_even2(new_primMinusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (493) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), y3, ty_Int) at position [2,0,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int),new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int)) ---------------------------------------- (494) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(x0)), new_even2(new_primMinusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (495) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F30(False, y0, Pos(x0), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(x0), new_even2(new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero))), y3, ty_Int) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F30(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Zero), new_even2(new_primMinusNat0(Zero, Succ(Zero))), y3, ty_Int),new_pr2F30(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Zero), new_even2(new_primMinusNat0(Zero, Succ(Zero))), y3, ty_Int)) (new_pr2F30(False, y0, Pos(Succ(Zero)), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Zero)), new_even2(new_primMinusNat0(Zero, Succ(Zero))), y3, ty_Int),new_pr2F30(False, y0, Pos(Succ(Zero)), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Zero)), new_even2(new_primMinusNat0(Zero, Succ(Zero))), y3, ty_Int)) (new_pr2F30(False, y0, Pos(Succ(Succ(x0))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(x0))), new_even2(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y3, ty_Int),new_pr2F30(False, y0, Pos(Succ(Succ(x0))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(x0))), new_even2(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y3, ty_Int)) ---------------------------------------- (496) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(x0)), new_even2(new_primMinusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F30(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Zero), new_even2(new_primMinusNat0(Zero, Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Pos(Succ(Zero)), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Zero)), new_even2(new_primMinusNat0(Zero, Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Pos(Succ(Succ(x0))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(x0))), new_even2(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) 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_pr2F30(False, y0, Pos(Succ(Succ(x0))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(x0))), new_even2(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(x0)), new_even2(new_primMinusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (499) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F30(False, y0, Pos(Succ(Succ(x0))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(x0))), new_even2(new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero))), y3, ty_Int) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F30(False, y0, Pos(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Zero))), new_even2(new_primMinusNat0(new_primDivNatS02(Zero, Zero), Succ(Zero))), y3, ty_Int),new_pr2F30(False, y0, Pos(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Zero))), new_even2(new_primMinusNat0(new_primDivNatS02(Zero, Zero), Succ(Zero))), y3, ty_Int)) (new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(new_primDivNatS02(Succ(x2), Zero), Succ(Zero))), y3, ty_Int),new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(new_primDivNatS02(Succ(x2), Zero), Succ(Zero))), y3, ty_Int)) ---------------------------------------- (500) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(x0)), new_even2(new_primMinusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F30(False, y0, Pos(Succ(Succ(Zero))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Zero))), new_even2(new_primMinusNat0(new_primDivNatS02(Zero, Zero), Succ(Zero))), y3, ty_Int) new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(new_primDivNatS02(Succ(x2), Zero), Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (501) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (502) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(new_primDivNatS02(Succ(x2), Zero), Succ(Zero))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(x0)), new_even2(new_primMinusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (503) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(new_primDivNatS02(Succ(x2), Zero), Succ(Zero))), y3, ty_Int) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Succ(Zero))), y3, ty_Int),new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Succ(Zero))), y3, ty_Int)) ---------------------------------------- (504) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(x0)), new_even2(new_primMinusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Succ(Zero))), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (505) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Succ(Zero))), y3, ty_Int) at position [3,0] we obtained the following new rules [LPAR04]: (new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)), Zero)), y3, ty_Int),new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)), Zero)), y3, ty_Int)) ---------------------------------------- (506) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(x0)), new_even2(new_primMinusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)), Zero)), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (507) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)), Zero)), y3, ty_Int) at position [3,0,0,0] we obtained the following new rules [LPAR04]: (new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int),new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int)) ---------------------------------------- (508) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(x0)), new_even2(new_primMinusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (509) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G11(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G11(y0, y1, Pos(Zero), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(Zero, Succ(Zero)), y3, ty_Int),new_pr2F0G11(y0, y1, Pos(Zero), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(Zero, Succ(Zero)), y3, ty_Int)) (new_pr2F0G11(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(Zero, Succ(Zero)), y3, ty_Int),new_pr2F0G11(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(Zero, Succ(Zero)), y3, ty_Int)) (new_pr2F0G11(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero)), y3, ty_Int),new_pr2F0G11(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero)), y3, ty_Int)) ---------------------------------------- (510) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(x0)), new_even2(new_primMinusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Zero), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(Zero, Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(Zero, Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero)), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (511) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. ---------------------------------------- (512) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(x0)), new_even2(new_primMinusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero)), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (513) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G11(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(x0, Succ(Zero)), Succ(Zero)), y3, ty_Int) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G11(y0, y1, Pos(Zero), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(Zero, Succ(Zero)), y3, ty_Int),new_pr2F0G11(y0, y1, Pos(Zero), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(Zero, Succ(Zero)), y3, ty_Int)) (new_pr2F0G11(y0, y1, Pos(Succ(Zero)), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(Zero, Succ(Zero)), y3, ty_Int),new_pr2F0G11(y0, y1, Pos(Succ(Zero)), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(Zero, Succ(Zero)), y3, ty_Int)) (new_pr2F0G11(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero)), y3, ty_Int),new_pr2F0G11(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero)), y3, ty_Int)) ---------------------------------------- (514) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(x0)), new_even2(new_primMinusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Zero), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(Zero, Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Zero)), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(Zero, Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero)), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (515) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. ---------------------------------------- (516) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(x0)), new_even2(new_primMinusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (517) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G11(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero)), y3, ty_Int) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G11(y0, y1, Pos(Succ(Succ(Zero))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS02(Zero, Zero), Succ(Zero)), y3, ty_Int),new_pr2F0G11(y0, y1, Pos(Succ(Succ(Zero))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS02(Zero, Zero), Succ(Zero)), y3, ty_Int)) (new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS02(Succ(x2), Zero), Succ(Zero)), y3, ty_Int),new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS02(Succ(x2), Zero), Succ(Zero)), y3, ty_Int)) ---------------------------------------- (518) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(x0)), new_even2(new_primMinusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Zero))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS02(Zero, Zero), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS02(Succ(x2), Zero), Succ(Zero)), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (519) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (520) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(x0)), new_even2(new_primMinusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS02(Succ(x2), Zero), Succ(Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (521) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS02(Succ(x2), Zero), Succ(Zero)), y3, ty_Int) at position [2,0] we obtained the following new rules [LPAR04]: (new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Succ(Zero)), y3, ty_Int),new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Succ(Zero)), y3, ty_Int)) ---------------------------------------- (522) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(x0)), new_even2(new_primMinusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Succ(Zero)), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (523) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Succ(Zero)), y3, ty_Int) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)), Zero), y3, ty_Int),new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)), Zero), y3, ty_Int)) ---------------------------------------- (524) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(x0)), new_even2(new_primMinusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)), Zero), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (525) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)), Zero), y3, ty_Int) at position [2,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero), y3, ty_Int),new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero), y3, ty_Int)) ---------------------------------------- (526) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(x0)), new_even2(new_primMinusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (527) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G11(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS01(x0, Zero, x0, Zero), Succ(Zero)), y3, ty_Int) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G11(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS02(Zero, Zero), Succ(Zero)), y3, ty_Int),new_pr2F0G11(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS02(Zero, Zero), Succ(Zero)), y3, ty_Int)) (new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS02(Succ(x2), Zero), Succ(Zero)), y3, ty_Int),new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS02(Succ(x2), Zero), Succ(Zero)), y3, ty_Int)) ---------------------------------------- (528) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(x0)), new_even2(new_primMinusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Zero))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS02(Zero, Zero), Succ(Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS02(Succ(x2), Zero), Succ(Zero)), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (529) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (530) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F3(False, y0, Pos(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(x0)), new_even2(new_primMinusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS02(Succ(x2), Zero), Succ(Zero)), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (531) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS02(Succ(x2), Zero), Succ(Zero)), y3, ty_Int) at position [2,0] we obtained the following new rules [LPAR04]: (new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Succ(Zero)), y3, ty_Int),new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Succ(Zero)), y3, ty_Int)) ---------------------------------------- (532) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F3(False, y0, Pos(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(x0)), new_even2(new_primMinusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Succ(Zero)), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (533) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Succ(Zero)), y3, ty_Int) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)), Zero), y3, ty_Int),new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)), Zero), y3, ty_Int)) ---------------------------------------- (534) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F3(False, y0, Pos(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(x0)), new_even2(new_primMinusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)), Zero), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (535) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)), Zero), y3, ty_Int) at position [2,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero), y3, ty_Int),new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero), y3, ty_Int)) ---------------------------------------- (536) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F3(False, y0, Pos(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(x0)), new_even2(new_primMinusNat0(x0, Zero)), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (537) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F3(False, y0, Pos(Succ(x0)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(x0)), new_even2(new_primMinusNat0(x0, Zero)), y3, ty_Int) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F3(False, y0, Pos(Succ(Zero)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(Zero)), new_even2(Pos(Zero)), y3, ty_Int),new_pr2F3(False, y0, Pos(Succ(Zero)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(Zero)), new_even2(Pos(Zero)), y3, ty_Int)) (new_pr2F3(False, y0, Pos(Succ(Succ(x0))), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(Succ(x0))), new_even2(Pos(Succ(x0))), y3, ty_Int),new_pr2F3(False, y0, Pos(Succ(Succ(x0))), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(Succ(x0))), new_even2(Pos(Succ(x0))), y3, ty_Int)) ---------------------------------------- (538) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero), y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(Zero)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(Zero)), new_even2(Pos(Zero)), y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(Succ(x0))), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(Succ(x0))), new_even2(Pos(Succ(x0))), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (539) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F3(False, y0, Pos(Succ(Zero)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(Zero)), new_even2(Pos(Zero)), y3, ty_Int) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F3(False, y0, Pos(Succ(Zero)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(Zero)), new_primEvenNat0(Zero), y3, ty_Int),new_pr2F3(False, y0, Pos(Succ(Zero)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(Zero)), new_primEvenNat0(Zero), y3, ty_Int)) ---------------------------------------- (540) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero), y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(Succ(x0))), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(Succ(x0))), new_even2(Pos(Succ(x0))), y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(Zero)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(Zero)), new_primEvenNat0(Zero), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (541) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F3(False, y0, Pos(Succ(Succ(x0))), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(Succ(x0))), new_even2(Pos(Succ(x0))), y3, ty_Int) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F3(False, y0, Pos(Succ(Succ(x0))), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(Succ(x0))), new_primEvenNat0(Succ(x0)), y3, ty_Int),new_pr2F3(False, y0, Pos(Succ(Succ(x0))), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(Succ(x0))), new_primEvenNat0(Succ(x0)), y3, ty_Int)) ---------------------------------------- (542) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero), y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(Zero)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(Zero)), new_primEvenNat0(Zero), y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(Succ(x0))), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(Succ(x0))), new_primEvenNat0(Succ(x0)), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (543) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F3(False, y0, Pos(Succ(Zero)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(Zero)), new_primEvenNat0(Zero), y3, ty_Int) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F3(False, y0, Pos(Succ(Zero)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(Zero)), True, y3, ty_Int),new_pr2F3(False, y0, Pos(Succ(Zero)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(Zero)), True, y3, ty_Int)) ---------------------------------------- (544) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero), y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(Succ(x0))), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(Succ(x0))), new_primEvenNat0(Succ(x0)), y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(Zero)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(Zero)), True, y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (545) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G1(y0, y1, Pos(x0), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G1(y0, y1, Pos(Succ(x0)), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Zero), y3, ty_Int),new_pr2F0G1(y0, y1, Pos(Succ(x0)), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Zero), y3, ty_Int)) (new_pr2F0G1(y0, y1, Pos(Zero), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(Succ(Zero)), y3, ty_Int),new_pr2F0G1(y0, y1, Pos(Zero), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(Succ(Zero)), y3, ty_Int)) ---------------------------------------- (546) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Zero), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Zero), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Zero), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Zero), False, y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero), y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(Succ(x0))), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(Succ(x0))), new_primEvenNat0(Succ(x0)), y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(Zero)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G1(y0, y1, Pos(Succ(x0)), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Zero), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(Zero), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Neg(Succ(Zero)), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (547) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 3 less nodes. ---------------------------------------- (548) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F3(False, y0, Pos(Succ(Succ(x0))), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(Succ(x0))), new_primEvenNat0(Succ(x0)), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(Zero)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(Succ(x0)), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Zero), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (549) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G1(y0, y1, Pos(x0), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_primMinusNat0(x0, Succ(Zero)), y3, ty_Int) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G1(y0, y1, Pos(Succ(x0)), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_primMinusNat0(x0, Zero), y3, ty_Int),new_pr2F0G1(y0, y1, Pos(Succ(x0)), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_primMinusNat0(x0, Zero), y3, ty_Int)) (new_pr2F0G1(y0, y1, Pos(Zero), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(Succ(Zero)), y3, ty_Int),new_pr2F0G1(y0, y1, Pos(Zero), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(Succ(Zero)), y3, ty_Int)) ---------------------------------------- (550) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F3(False, y0, Pos(Succ(Succ(x0))), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(Succ(x0))), new_primEvenNat0(Succ(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(Zero)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(Succ(x0)), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Zero), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(Succ(x0)), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_primMinusNat0(x0, Zero), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(Zero), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Neg(Succ(Zero)), y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (551) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (552) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(y0, y1, Pos(Succ(x0)), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Zero), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(Succ(x0))), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(Succ(x0))), new_primEvenNat0(Succ(x0)), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(Succ(x0)), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_primMinusNat0(x0, Zero), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(Zero)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(Zero)), True, y3, ty_Int) The TRS R consists of the following rules: new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_primMinusNat0(Succ(vyv24600), Succ(vyv24500)) -> new_primMinusNat0(vyv24600, vyv24500) new_primMinusNat0(Zero, Succ(vyv24500)) -> Neg(Succ(vyv24500)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (553) 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. ---------------------------------------- (554) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(y0, y1, Pos(Succ(x0)), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Zero), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(Succ(x0))), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(Succ(x0))), new_primEvenNat0(Succ(x0)), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(Succ(x0)), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_primMinusNat0(x0, Zero), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(Zero)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(Zero)), True, y3, ty_Int) The TRS R consists of the following rules: new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (555) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G1(y0, y1, Pos(Succ(x0)), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), new_primMinusNat0(x0, Zero), y3, ty_Int) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G1(y0, y1, Pos(Succ(Zero)), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Pos(Zero), y3, ty_Int),new_pr2F0G1(y0, y1, Pos(Succ(Zero)), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Pos(Zero), y3, ty_Int)) (new_pr2F0G1(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Pos(Succ(x0)), y3, ty_Int),new_pr2F0G1(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Pos(Succ(x0)), y3, ty_Int)) ---------------------------------------- (556) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(Succ(x0))), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(Succ(x0))), new_primEvenNat0(Succ(x0)), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(Succ(x0)), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_primMinusNat0(x0, Zero), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(Zero)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G1(y0, y1, Pos(Succ(Zero)), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Pos(Zero), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Pos(Succ(x0)), y3, ty_Int) The TRS R consists of the following rules: new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (557) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (558) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F3(False, y0, Pos(Succ(Succ(x0))), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(Succ(x0))), new_primEvenNat0(Succ(x0)), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(Succ(x0)), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_primMinusNat0(x0, Zero), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(Zero)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Pos(Succ(x0)), y3, ty_Int) The TRS R consists of the following rules: new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (559) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G1(y0, y1, Pos(Succ(x0)), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, new_primMinusNat0(x0, Zero), y3, ty_Int) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G1(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Pos(Zero), y3, ty_Int),new_pr2F0G1(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Pos(Zero), y3, ty_Int)) (new_pr2F0G1(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Pos(Succ(x0)), y3, ty_Int),new_pr2F0G1(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Pos(Succ(x0)), y3, ty_Int)) ---------------------------------------- (560) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F3(False, y0, Pos(Succ(Succ(x0))), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(Succ(x0))), new_primEvenNat0(Succ(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(Zero)), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(Zero)), True, y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Pos(Succ(x0)), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(Succ(Zero)), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Pos(Zero), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Pos(Succ(x0)), y3, ty_Int) The TRS R consists of the following rules: new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (561) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. ---------------------------------------- (562) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Pos(Succ(x0)), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(Succ(x0))), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(Succ(x0))), new_primEvenNat0(Succ(x0)), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Pos(Succ(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) The TRS R consists of the following rules: new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (563) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G0(y0, y1, Pos(Succ(x0)), y3, ty_Int) -> new_pr2F3(new_esEs0(new_primMinusNat0(x0, Zero)), y0, Pos(Succ(x0)), y1, y3, ty_Int) at position [0] we obtained the following new rules [LPAR04]: (new_pr2F0G0(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F3(new_esEs0(Pos(Zero)), y0, Pos(Succ(Zero)), y1, y3, ty_Int),new_pr2F0G0(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F3(new_esEs0(Pos(Zero)), y0, Pos(Succ(Zero)), y1, y3, ty_Int)) (new_pr2F0G0(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F3(new_esEs0(Pos(Succ(x0))), y0, Pos(Succ(Succ(x0))), y1, y3, ty_Int),new_pr2F0G0(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F3(new_esEs0(Pos(Succ(x0))), y0, Pos(Succ(Succ(x0))), y1, y3, ty_Int)) ---------------------------------------- (564) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Pos(Succ(x0)), y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(Succ(x0))), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(Succ(x0))), new_primEvenNat0(Succ(x0)), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Pos(Succ(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(Zero)), y3, ty_Int) -> new_pr2F3(new_esEs0(Pos(Zero)), y0, Pos(Succ(Zero)), y1, y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F3(new_esEs0(Pos(Succ(x0))), y0, Pos(Succ(Succ(x0))), y1, y3, ty_Int) The TRS R consists of the following rules: new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (565) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (566) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G0(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F3(new_esEs0(Pos(Succ(x0))), y0, Pos(Succ(Succ(x0))), y1, y3, ty_Int) new_pr2F3(False, y0, Pos(Succ(Succ(x0))), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(Succ(x0))), new_primEvenNat0(Succ(x0)), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Pos(Succ(x0)), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Pos(Succ(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) The TRS R consists of the following rules: new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (567) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G0(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F3(new_esEs0(Pos(Succ(x0))), y0, Pos(Succ(Succ(x0))), y1, y3, ty_Int) at position [0] we obtained the following new rules [LPAR04]: (new_pr2F0G0(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F3(new_primEqInt(Pos(Succ(x0))), y0, Pos(Succ(Succ(x0))), y1, y3, ty_Int),new_pr2F0G0(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F3(new_primEqInt(Pos(Succ(x0))), y0, Pos(Succ(Succ(x0))), y1, y3, ty_Int)) ---------------------------------------- (568) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F3(False, y0, Pos(Succ(Succ(x0))), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(Succ(x0))), new_primEvenNat0(Succ(x0)), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Pos(Succ(x0)), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Pos(Succ(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F3(new_primEqInt(Pos(Succ(x0))), y0, Pos(Succ(Succ(x0))), y1, y3, ty_Int) The TRS R consists of the following rules: new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (569) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G0(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F3(new_primEqInt(Pos(Succ(x0))), y0, Pos(Succ(Succ(x0))), y1, y3, ty_Int) at position [0] we obtained the following new rules [LPAR04]: (new_pr2F0G0(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Succ(Succ(x0))), y1, y3, ty_Int),new_pr2F0G0(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Succ(Succ(x0))), y1, y3, ty_Int)) ---------------------------------------- (570) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F3(False, y0, Pos(Succ(Succ(x0))), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(Succ(x0))), new_primEvenNat0(Succ(x0)), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Pos(Succ(x0)), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Pos(Succ(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Succ(Succ(x0))), y1, y3, ty_Int) The TRS R consists of the following rules: new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (571) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_pr2F0G1(y0, y1, Pos(Succ(Succ(x0))), True, y3, ty_Int) -> new_pr2F0G(new_sr0(y0, y1, y3), y0, Pos(Succ(x0)), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(new_sr4(y0, y1, y3), new_sr3(y0, y3), new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), True, y3, ty_Int) -> new_pr2F0G(y0, new_sr1(y1, y3), Pos(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G0(y0, y1, Pos(Succ(Succ(x0))), y3, ty_Int) -> new_pr2F3(False, y0, Pos(Succ(Succ(x0))), y1, y3, ty_Int) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(:%(x_1, x_2)) = 0 POL(Double(x_1, x_2)) = 0 POL(False) = 0 POL(Float(x_1, x_2)) = 0 POL(Integer(x_1)) = 0 POL(Neg(x_1)) = 0 POL(Pos(x_1)) = x_1 POL(Succ(x_1)) = 1 + x_1 POL(True) = 0 POL(Zero) = 1 POL([]) = 1 POL(app(x_1, x_2)) = x_2 POL(error(x_1)) = 1 + x_1 POL(new_abs(x_1)) = 0 POL(new_abs0(x_1)) = 0 POL(new_error(x_1)) = 0 POL(new_esEs(x_1)) = 0 POL(new_esEs0(x_1)) = 0 POL(new_esEs3(x_1, x_2, x_3)) = x_2 POL(new_esEs4(x_1, x_2)) = 0 POL(new_even2(x_1)) = 0 POL(new_gcd0(x_1, x_2)) = x_1 + x_2 POL(new_gcd00(x_1, x_2)) = 1 + x_1 + x_2 POL(new_gcd0Gcd'01(x_1, x_2)) = 0 POL(new_gcd0Gcd'02(x_1, x_2)) = 0 POL(new_gcd0Gcd'11(x_1, x_2, x_3)) = x_2 + x_3 POL(new_gcd0Gcd'12(x_1, x_2, x_3)) = x_2 + x_3 POL(new_gcd0Gcd'13(x_1, x_2, x_3)) = x_2 + x_3 POL(new_gcd0Gcd'14(x_1, x_2, x_3)) = x_2 + x_3 POL(new_gcd1(x_1, x_2, x_3)) = x_2 + x_3 POL(new_gcd10(x_1, x_2, x_3)) = x_2 + x_3 POL(new_gcd2(x_1, x_2, x_3)) = x_2 + x_3 POL(new_gcd20(x_1, x_2, x_3)) = x_2 + x_3 POL(new_pr2F0G(x_1, x_2, x_3, x_4, x_5)) = x_3 + x_4 POL(new_pr2F0G0(x_1, x_2, x_3, x_4, x_5)) = 1 + x_3 + x_4 + x_5 POL(new_pr2F0G1(x_1, x_2, x_3, x_4, x_5, x_6)) = 1 + x_3 + x_5 POL(new_pr2F0G10(x_1, x_2, x_3, x_4, x_5, x_6)) = x_3 + x_5 POL(new_pr2F0G11(x_1, x_2, x_3, x_4, x_5, x_6)) = x_3 + x_5 POL(new_pr2F3(x_1, x_2, x_3, x_4, x_5, x_6)) = 1 + x_1 + x_3 + x_5 POL(new_pr2F30(x_1, x_2, x_3, x_4, x_5, x_6)) = x_3 + x_5 POL(new_primDivNatS01(x_1, x_2, x_3, x_4)) = 1 + x_1 POL(new_primDivNatS02(x_1, x_2)) = 1 + x_1 POL(new_primDivNatS1(x_1, x_2)) = x_1 POL(new_primEqInt(x_1)) = 0 POL(new_primEvenNat0(x_1)) = 0 POL(new_primMinusNat0(x_1, x_2)) = x_1 POL(new_primMinusNatS0(x_1)) = 1 POL(new_primMinusNatS1) = 0 POL(new_primMinusNatS2(x_1, x_2)) = x_1 POL(new_primModNatS01(x_1, x_2)) = 1 + x_1 + x_2 POL(new_primModNatS02(x_1, x_2, x_3, x_4)) = 1 + x_1 + x_2 + x_3 POL(new_primModNatS1(x_1, x_2)) = 0 POL(new_primMulDouble(x_1, x_2)) = 0 POL(new_primMulDouble0(x_1)) = x_1 POL(new_primMulFloat(x_1, x_2)) = 0 POL(new_primMulFloat0(x_1)) = x_1 POL(new_primMulInt(x_1, x_2)) = 0 POL(new_primMulInt0(x_1)) = 0 POL(new_primMulNat0(x_1, x_2)) = 0 POL(new_primNegInt(x_1)) = x_1 POL(new_primPlusNat0(x_1, x_2)) = 0 POL(new_primQuotInt(x_1, x_2)) = x_1 POL(new_primQuotInt0(x_1, x_2)) = 0 POL(new_primQuotInt1(x_1, x_2, x_3, x_4)) = x_1 + x_3 + x_4 POL(new_primQuotInt2(x_1, x_2, x_3, x_4)) = x_1 + x_3 + x_4 POL(new_primRemInt(x_1, x_2)) = 0 POL(new_quot2(x_1, x_2)) = 1 + x_1 POL(new_quot3(x_1, x_2, x_3, x_4, x_5)) = x_1 + x_2 POL(new_quot4(x_1, x_2, x_3, x_4, x_5)) = x_1 + x_2 POL(new_quot5(x_1, x_2, x_3)) = 0 POL(new_quot6(x_1, x_2, x_3)) = 0 POL(new_reduce(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 POL(new_reduce2(x_1, x_2, x_3)) = x_1 + x_2 POL(new_reduce2Reduce1(x_1, x_2, x_3, x_4, x_5, x_6)) = x_6 POL(new_rem(x_1, x_2)) = 0 POL(new_rem0(x_1, x_2)) = x_1 + x_2 POL(new_sr(x_1, x_2, x_3)) = x_1 + x_2 POL(new_sr0(x_1, x_2, x_3)) = x_1 + x_2 POL(new_sr1(x_1, x_2)) = 0 POL(new_sr10(x_1, x_2)) = x_1 + x_2 POL(new_sr11(x_1)) = 1 + x_1 POL(new_sr12(x_1, x_2)) = x_1 + x_2 POL(new_sr13(x_1, x_2)) = 0 POL(new_sr14(x_1, x_2)) = 0 POL(new_sr15(x_1, x_2)) = 0 POL(new_sr16(x_1, x_2)) = 0 POL(new_sr17(x_1)) = 1 + x_1 POL(new_sr18(x_1)) = 1 + x_1 POL(new_sr19(x_1, x_2)) = 1 + x_1 + x_2 POL(new_sr2(x_1, x_2)) = x_1 POL(new_sr20(x_1)) = 1 POL(new_sr3(x_1, x_2)) = 0 POL(new_sr4(x_1, x_2, x_3)) = 0 POL(new_sr5(x_1, x_2)) = 0 POL(new_sr6(x_1, x_2, x_3)) = 0 POL(new_sr7(x_1)) = 1 + x_1 POL(new_sr8(x_1, x_2)) = 1 + x_1 + x_2 POL(new_sr9(x_1, x_2)) = 1 + x_1 + x_2 POL(ty_Double) = 1 POL(ty_Float) = 1 POL(ty_Int) = 1 POL(ty_Integer) = 0 POL(ty_Ratio) = 0 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_primDivNatS1(Zero, vyv32700) -> Zero new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) ---------------------------------------- (572) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F3(False, y0, Pos(Succ(Succ(x0))), y2, y3, ty_Int) -> new_pr2F0G1(y0, y2, Pos(Succ(Succ(x0))), new_primEvenNat0(Succ(x0)), y3, ty_Int) new_pr2F0G1(y0, y1, Pos(Succ(Succ(x0))), False, y3, ty_Int) -> new_pr2F0G0(y0, new_sr(y0, y1, y3), Pos(Succ(x0)), y3, ty_Int) new_pr2F0G(y0, y1, Pos(Succ(Succ(Succ(x2)))), y3, ty_Int) -> new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), new_primEvenNat0(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3, ty_Int) new_pr2F0G10(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F30(new_esEs0(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y1, Pos(Succ(Succ(Succ(x2)))), y0, y3, ty_Int) new_pr2F30(False, y0, Pos(Succ(Succ(Succ(x2)))), y2, y3, ty_Int) -> new_pr2F0G11(y0, y2, Pos(Succ(Succ(Succ(x2)))), new_even2(new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero)), y3, ty_Int) new_pr2F0G11(y0, y1, Pos(Succ(Succ(Succ(x2)))), False, y3, ty_Int) -> new_pr2F0G0(new_sr2(y0, y3), y1, new_primMinusNat0(new_primDivNatS1(Succ(x2), Succ(Zero)), Zero), y3, ty_Int) The TRS R consists of the following rules: new_sr1(vyv221, ty_Int) -> new_primMulInt0(vyv221) new_sr1(vyv221, ty_Double) -> new_primMulDouble0(vyv221) new_sr1(:%(vyv2210, vyv2211), app(ty_Ratio, dd)) -> new_reduce(vyv2210, vyv2211, dd) new_sr1(Integer(vyv2210), ty_Integer) -> Integer(new_primMulInt0(vyv2210)) new_sr1(vyv221, ty_Float) -> new_primMulFloat0(vyv221) new_primDivNatS1(Succ(Zero), Succ(vyv327000)) -> Zero new_primDivNatS1(Succ(Succ(vyv293000)), Succ(vyv327000)) -> new_primDivNatS01(vyv293000, vyv327000, vyv293000, vyv327000) new_primDivNatS01(vyv400, vyv401, Zero, Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Zero) -> new_primDivNatS02(vyv400, vyv401) new_primDivNatS01(vyv400, vyv401, Zero, Succ(vyv4030)) -> Zero new_primDivNatS01(vyv400, vyv401, Succ(vyv4020), Succ(vyv4030)) -> new_primDivNatS01(vyv400, vyv401, vyv4020, vyv4030) new_primDivNatS02(vyv400, vyv401) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv400, vyv401), Succ(vyv401))) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primDivNatS1(Zero, vyv32700) -> Zero new_primMulFloat0(vyv20) -> new_primMulFloat(vyv20, vyv20) new_primMulFloat(Float(vyv120, vyv121), Float(vyv2140, vyv2141)) -> Float(new_sr10(vyv120, vyv2140), new_primMulInt(vyv121, vyv2141)) new_sr10(vyv120, vyv2140) -> new_primMulInt(vyv120, vyv2140) new_primMulInt(Pos(vyv120), Pos(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Neg(vyv2250)) -> Pos(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Pos(vyv120), Neg(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulInt(Neg(vyv120), Pos(vyv2250)) -> Neg(new_primMulNat0(vyv120, vyv2250)) new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv1200), Succ(vyv22500)) -> new_primPlusNat0(new_primMulNat0(vyv1200, Succ(vyv22500)), Succ(vyv22500)) new_primMulNat0(Succ(vyv1200), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv22500)) -> Zero 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_primMulInt0(vyv20) -> new_primMulInt(vyv20, vyv20) new_reduce(vyv200, vyv201, cf) -> new_reduce2(vyv200, vyv201, cf) new_reduce2(vyv200, vyv201, cf) -> new_reduce2Reduce1(vyv200, vyv200, vyv201, vyv201, new_esEs4(vyv201, cf), cf) new_esEs4(vyv201, ty_Int) -> new_esEs0(new_primMulInt0(vyv201)) new_esEs4(vyv201, ty_Integer) -> new_esEs(new_sr17(vyv201)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, True, dc) -> new_error(app(ty_Ratio, dc)) new_reduce2Reduce1(vyv281, vyv282, vyv283, vyv284, False, dc) -> :%(new_quot3(vyv281, vyv282, vyv283, vyv284, dc), new_quot4(vyv283, vyv284, vyv281, vyv282, dc)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Integer) -> new_quot6(new_sr5(vyv281, vyv282), new_sr13(vyv281, vyv282), new_sr12(vyv283, vyv284)) new_quot3(vyv281, vyv282, vyv283, vyv284, ty_Int) -> new_quot5(new_primMulInt(vyv281, vyv282), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Integer) -> new_quot6(new_sr14(vyv283, vyv284), new_sr16(vyv281, vyv282), new_sr15(vyv283, vyv284)) new_quot4(vyv283, vyv284, vyv281, vyv282, ty_Int) -> new_quot5(new_primMulInt(vyv283, vyv284), new_primMulInt(vyv281, vyv282), new_primMulInt(vyv283, vyv284)) new_quot5(Pos(vyv2930), vyv295, vyv294) -> new_primQuotInt(vyv2930, new_gcd2(new_esEs0(vyv295), vyv295, vyv294)) new_quot5(Neg(vyv2930), vyv295, vyv294) -> new_primQuotInt2(vyv2930, new_esEs0(vyv295), vyv295, vyv294) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primQuotInt2(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294)) new_primQuotInt2(vyv2930, True, vyv295, vyv294) -> new_primQuotInt1(vyv2930, new_esEs0(vyv294), vyv295, vyv294) new_primQuotInt1(vyv2930, True, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_error(ty_Int)) new_primQuotInt1(vyv2930, False, vyv295, vyv294) -> new_primQuotInt0(Neg(vyv2930), new_gcd0(vyv295, vyv294)) new_gcd0(vyv295, vyv294) -> new_gcd0Gcd'13(new_esEs0(new_abs0(vyv294)), vyv295, vyv294) new_primQuotInt0(Neg(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Pos(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Neg(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Neg(vyv29600), Neg(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primDivNatS1(Succ(Succ(vyv293000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv293000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(df) -> error([]) new_abs0(Neg(Zero)) -> Neg(Zero) new_abs0(Pos(Succ(vyv29400))) -> Pos(Succ(vyv29400)) new_abs0(Pos(Zero)) -> Pos(Zero) new_abs0(Neg(Succ(vyv29400))) -> new_primNegInt(vyv29400) new_gcd0Gcd'13(True, vyv295, vyv294) -> new_abs0(vyv295) new_gcd0Gcd'13(False, vyv295, vyv294) -> new_gcd0Gcd'01(new_abs0(vyv295), new_abs0(vyv294)) new_gcd0Gcd'01(vyv345, vyv344) -> new_gcd0Gcd'11(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'11(False, vyv344, vyv345) -> new_gcd0Gcd'01(vyv344, new_rem0(vyv345, vyv344)) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_gcd0Gcd'11(True, vyv344, vyv345) -> vyv344 new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primNegInt(vyv29400) -> Pos(Succ(vyv29400)) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_gcd2(True, vyv295, vyv294) -> new_gcd1(new_esEs0(vyv294), vyv295, vyv294) new_gcd2(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_primQuotInt(vyv2930, Pos(Succ(vyv32700))) -> Pos(new_primDivNatS1(vyv2930, vyv32700)) new_primQuotInt(vyv2930, Neg(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Pos(Zero)) -> new_error(ty_Int) new_primQuotInt(vyv2930, Neg(Succ(vyv32700))) -> Neg(new_primDivNatS1(vyv2930, vyv32700)) new_gcd1(False, vyv295, vyv294) -> new_gcd0(vyv295, vyv294) new_gcd1(True, vyv295, vyv294) -> new_error(ty_Int) new_sr14(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr16(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr15(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_quot6(Integer(vyv2960), vyv298, vyv297) -> new_quot2(vyv2960, new_gcd20(new_esEs(vyv298), vyv298, vyv297)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_gcd20(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd20(True, vyv298, vyv297) -> new_gcd10(new_esEs(vyv297), vyv298, vyv297) new_quot2(vyv2960, Integer(vyv3250)) -> Integer(new_primQuotInt0(vyv2960, vyv3250)) new_primQuotInt0(Pos(vyv29600), Neg(Zero)) -> new_error(ty_Int) new_primQuotInt0(Pos(vyv29600), Neg(Succ(vyv325000))) -> Neg(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Succ(vyv325000))) -> Pos(new_primDivNatS1(vyv29600, vyv325000)) new_primQuotInt0(Pos(vyv29600), Pos(Zero)) -> new_error(ty_Int) new_gcd10(False, vyv298, vyv297) -> new_gcd00(vyv298, vyv297) new_gcd10(True, vyv298, vyv297) -> new_error(ty_Integer) new_gcd00(vyv298, vyv297) -> new_gcd0Gcd'12(new_esEs(new_abs(vyv297)), vyv298, vyv297) new_abs(Integer(Neg(Zero))) -> Integer(Neg(Zero)) new_abs(Integer(Neg(Succ(vyv297000)))) -> Integer(new_primNegInt(vyv297000)) new_abs(Integer(Pos(Succ(vyv297000)))) -> Integer(Pos(Succ(vyv297000))) new_abs(Integer(Pos(Zero))) -> Integer(Pos(Zero)) new_gcd0Gcd'12(False, vyv298, vyv297) -> new_gcd0Gcd'02(new_abs(vyv298), new_abs(vyv297)) new_gcd0Gcd'12(True, vyv298, vyv297) -> new_abs(vyv298) new_gcd0Gcd'14(False, vyv346, vyv347) -> new_gcd0Gcd'02(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'02(vyv347, vyv346) -> new_gcd0Gcd'14(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_gcd0Gcd'14(True, vyv346, vyv347) -> vyv346 new_sr5(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr13(Integer(vyv2810), Integer(vyv2820)) -> Integer(new_primMulInt(vyv2810, vyv2820)) new_sr12(Integer(vyv2830), Integer(vyv2840)) -> Integer(new_primMulInt(vyv2830, vyv2840)) new_sr17(Integer(vyv2010)) -> Integer(new_primMulInt0(vyv2010)) new_primMulDouble0(vyv20) -> new_primMulDouble(vyv20, vyv20) new_primMulDouble(Double(vyv120, vyv121), Double(vyv2240, vyv2241)) -> Double(new_primMulInt(vyv120, vyv2240), new_primMulInt(vyv121, vyv2241)) new_sr2(vyv264, ty_Int) -> new_sr11(vyv264) new_sr2(vyv264, ty_Integer) -> new_sr20(vyv264) new_sr2(vyv264, app(ty_Ratio, cg)) -> new_sr19(vyv264, cg) new_sr2(vyv264, ty_Double) -> new_sr18(vyv264) new_sr2(vyv264, ty_Float) -> new_sr7(vyv264) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Succ(vyv24600), Zero) -> Pos(Succ(vyv24600)) new_sr7(vyv12) -> new_primMulFloat(vyv12, vyv12) new_sr18(vyv12) -> new_primMulDouble(vyv12, vyv12) new_sr19(:%(vyv120, vyv121), de) -> new_reduce(vyv120, vyv121, de) new_sr20(Integer(vyv120)) -> Integer(new_primMulInt(vyv120, vyv120)) new_sr11(vyv12) -> new_primMulInt(vyv12, vyv12) new_sr4(:%(vyv2640, vyv2641), vyv265, app(ty_Ratio, cg)) -> new_sr6(new_reduce2(vyv2640, vyv2641, cg), vyv265, cg) new_sr4(vyv264, vyv265, ty_Double) -> new_primMulDouble(new_primMulDouble0(vyv264), vyv265) new_sr4(Integer(vyv2640), Integer(vyv2650), ty_Integer) -> Integer(new_primMulInt(new_primMulInt0(vyv2640), vyv2650)) new_sr4(vyv264, vyv265, ty_Float) -> new_primMulFloat(new_primMulFloat0(vyv264), vyv265) new_sr4(vyv264, vyv265, ty_Int) -> new_primMulInt(new_primMulInt0(vyv264), vyv265) new_sr3(vyv264, ty_Float) -> new_primMulFloat0(vyv264) new_sr3(:%(vyv2640, vyv2641), app(ty_Ratio, cg)) -> new_reduce(vyv2640, vyv2641, cg) new_sr3(vyv264, ty_Double) -> new_primMulDouble0(vyv264) new_sr3(Integer(vyv2640), ty_Integer) -> Integer(new_primMulInt0(vyv2640)) new_sr3(vyv264, ty_Int) -> new_primMulInt0(vyv264) new_sr6(:%(vyv3880, vyv3881), :%(vyv2430, vyv2431), db) -> new_reduce2Reduce1(vyv3880, vyv2430, vyv3881, vyv2431, new_esEs3(vyv3881, vyv2431, db), db) new_esEs3(vyv3881, vyv2431, ty_Integer) -> new_esEs(new_sr5(vyv3881, vyv2431)) new_esEs3(vyv3881, vyv2431, ty_Int) -> new_esEs0(new_sr10(vyv3881, vyv2431)) new_even2(Neg(vyv2720)) -> new_primEvenNat0(vyv2720) new_even2(Pos(vyv2720)) -> new_primEvenNat0(vyv2720) new_primEvenNat0(Zero) -> True new_primEvenNat0(Succ(Zero)) -> False new_primEvenNat0(Succ(Succ(vyv272000))) -> new_primEvenNat0(vyv272000) new_sr0(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, new_sr10(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, new_sr5(vyv431, vyv432)) new_sr0(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, new_sr9(vyv431, vyv432)) new_sr0(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, new_sr6(vyv431, vyv432, da), da) new_sr0(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, new_sr8(vyv431, vyv432)) new_sr8(vyv423, vyv425) -> new_primMulFloat(vyv423, vyv425) new_sr9(vyv423, vyv425) -> new_primMulDouble(vyv423, vyv425) new_sr(vyv431, vyv432, ty_Integer) -> new_sr5(vyv431, vyv432) new_sr(vyv431, vyv432, app(ty_Ratio, da)) -> new_sr6(vyv431, vyv432, da) new_sr(vyv431, vyv432, ty_Int) -> new_sr10(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Float) -> new_sr8(vyv431, vyv432) new_sr(vyv431, vyv432, ty_Double) -> new_sr9(vyv431, vyv432) The set Q consists of the following terms: new_even2(Neg(x0)) new_abs(Integer(Pos(Zero))) new_esEs3(x0, x1, ty_Int) new_abs(Integer(Neg(Zero))) new_even2(Pos(x0)) new_rem(Integer(x0), Integer(x1)) new_sr3(Integer(x0), ty_Integer) new_primDivNatS1(Succ(Zero), Zero) new_sr2(x0, ty_Integer) new_primMulDouble0(x0) new_sr9(x0, x1) new_primMulNat0(Zero, Zero) new_quot2(x0, Integer(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt2(x0, False, x1, x2) new_abs0(Neg(Zero)) new_sr0(x0, x1, ty_Int) new_gcd0Gcd'12(False, x0, x1) new_primMulDouble(Double(x0, x1), Double(x2, x3)) new_primDivNatS1(Succ(Zero), Succ(x0)) new_gcd0Gcd'13(True, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, x1, ty_Integer) new_gcd2(True, x0, x1) new_abs0(Neg(Succ(x0))) new_primMinusNat0(Zero, Zero) new_primMulInt0(x0) new_esEs0(Pos(Succ(x0))) new_primQuotInt0(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Double) new_primQuotInt0(Pos(x0), Pos(Zero)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_gcd20(True, x0, x1) new_primPlusNat0(Zero, Zero) new_primQuotInt1(x0, False, x1, x2) new_primEvenNat0(Succ(Succ(x0))) new_primMulInt(Pos(x0), Neg(x1)) new_primMulInt(Neg(x0), Pos(x1)) new_sr12(Integer(x0), Integer(x1)) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_primMulNat0(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_sr17(Integer(x0)) new_sr1(x0, ty_Double) new_sr3(:%(x0, x1), app(ty_Ratio, x2)) new_primNegInt(x0) new_gcd00(x0, x1) new_sr4(x0, x1, ty_Double) new_primMinusNatS2(Succ(x0), Succ(x1)) new_quot3(x0, x1, x2, x3, ty_Integer) new_sr15(Integer(x0), Integer(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_quot4(x0, x1, x2, x3, ty_Int) new_primQuotInt(x0, Neg(Zero)) new_esEs(Integer(x0)) new_sr4(Integer(x0), Integer(x1), ty_Integer) new_primQuotInt0(Pos(x0), Pos(Succ(x1))) new_primMulInt(Neg(x0), Neg(x1)) new_primEvenNat0(Zero) new_error(x0) new_sr1(Integer(x0), ty_Integer) new_gcd0Gcd'11(False, x0, x1) new_primQuotInt(x0, Neg(Succ(x1))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Integer(Neg(Succ(x0)))) new_esEs4(x0, ty_Int) new_abs0(Pos(Zero)) new_gcd0(x0, x1) new_primQuotInt0(Pos(x0), Neg(Zero)) new_primQuotInt0(Neg(x0), Pos(Zero)) new_primEvenNat0(Succ(Zero)) new_gcd10(True, x0, x1) new_sr3(x0, ty_Float) new_primRemInt(Neg(x0), Neg(Zero)) new_sr0(x0, x1, ty_Float) new_gcd20(False, x0, x1) new_esEs3(x0, x1, ty_Integer) new_primEqInt(Pos(Zero)) new_primMinusNat0(Zero, Succ(x0)) new_sr11(x0) new_primQuotInt1(x0, True, x1, x2) new_sr6(:%(x0, x1), :%(x2, x3), x4) new_primRemInt(Pos(x0), Pos(Zero)) new_primQuotInt2(x0, True, x1, x2) new_esEs0(Neg(Zero)) new_primPlusNat0(Succ(x0), Zero) new_esEs0(Pos(Zero)) new_abs(Integer(Pos(Succ(x0)))) new_gcd0Gcd'12(True, x0, x1) new_primMulFloat0(x0) new_sr2(x0, ty_Float) new_sr(x0, x1, app(ty_Ratio, x2)) new_gcd0Gcd'02(x0, x1) new_sr3(x0, ty_Int) new_esEs4(x0, ty_Integer) new_gcd1(False, x0, x1) new_primQuotInt0(Pos(x0), Neg(Succ(x1))) new_primQuotInt0(Neg(x0), Pos(Succ(x1))) new_reduce2(x0, x1, x2) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_sr3(x0, ty_Double) new_sr10(x0, x1) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_gcd0Gcd'14(True, x0, x1) new_primMulFloat(Float(x0, x1), Float(x2, x3)) new_primEqInt(Neg(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, app(ty_Ratio, x1)) new_sr20(Integer(x0)) new_rem0(x0, x1) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_sr7(x0) new_primMulInt(Pos(x0), Pos(x1)) new_quot5(Pos(x0), x1, x2) new_sr1(x0, ty_Float) new_quot5(Neg(x0), x1, x2) new_gcd10(False, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_reduce(x0, x1, x2) new_primQuotInt(x0, Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_sr13(Integer(x0), Integer(x1)) new_sr(x0, x1, ty_Float) new_primQuotInt(x0, Pos(Zero)) new_sr(x0, x1, ty_Double) new_sr4(x0, x1, ty_Float) new_primDivNatS1(Zero, x0) new_primPlusNat0(Zero, Succ(x0)) new_sr16(Integer(x0), Integer(x1)) new_sr19(:%(x0, x1), x2) new_primDivNatS02(x0, x1) new_sr5(Integer(x0), Integer(x1)) new_primEqInt(Neg(Succ(x0))) new_gcd1(True, x0, x1) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, ty_Double) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_gcd2(False, x0, x1) new_primMinusNatS1 new_abs0(Pos(Succ(x0))) new_esEs0(Neg(Succ(x0))) new_sr4(:%(x0, x1), x2, app(ty_Ratio, x3)) new_gcd0Gcd'13(False, x0, x1) new_gcd0Gcd'14(False, x0, x1) new_sr18(x0) new_sr14(Integer(x0), Integer(x1)) new_quot4(x0, x1, x2, x3, ty_Integer) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_sr1(:%(x0, x1), app(ty_Ratio, x2)) new_quot6(Integer(x0), x1, x2) new_primDivNatS01(x0, x1, Zero, Zero) new_sr2(x0, ty_Int) new_gcd0Gcd'01(x0, x1) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_quot3(x0, x1, x2, x3, ty_Int) new_primQuotInt0(Neg(x0), Neg(Succ(x1))) new_sr0(x0, x1, ty_Integer) new_sr(x0, x1, ty_Int) new_sr0(x0, x1, app(ty_Ratio, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (573) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 6 less nodes. ---------------------------------------- (574) TRUE ---------------------------------------- (575) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G13(vyv121, vyv122, Succ(Succ(vyv12300)), h) -> new_pr2F0G13(vyv121, vyv122, vyv12300, h) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (576) 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_pr2F0G13(vyv121, vyv122, Succ(Succ(vyv12300)), h) -> new_pr2F0G13(vyv121, vyv122, vyv12300, h) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 >= 4 ---------------------------------------- (577) YES ---------------------------------------- (578) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vyv345, vyv344) -> new_gcd0Gcd'10(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'10(False, vyv344, vyv345) -> new_gcd0Gcd'00(vyv344, new_rem0(vyv345, vyv344)) The TRS R consists of the following rules: new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primEqInt(Neg(Zero)) -> True new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Zero, vyv34400) -> Zero new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primEqInt(Neg(Succ(vyv38000))) -> False new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_error(h) -> error([]) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Zero)) new_esEs0(Neg(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primEqInt(Neg(Zero)) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_rem0(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (579) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(vyv345, vyv344) -> new_gcd0Gcd'10(new_esEs0(new_rem0(vyv345, vyv344)), vyv344, vyv345) at position [0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(vyv345, vyv344) -> new_gcd0Gcd'10(new_esEs0(new_primRemInt(vyv345, vyv344)), vyv344, vyv345),new_gcd0Gcd'00(vyv345, vyv344) -> new_gcd0Gcd'10(new_esEs0(new_primRemInt(vyv345, vyv344)), vyv344, vyv345)) ---------------------------------------- (580) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, vyv344, vyv345) -> new_gcd0Gcd'00(vyv344, new_rem0(vyv345, vyv344)) new_gcd0Gcd'00(vyv345, vyv344) -> new_gcd0Gcd'10(new_esEs0(new_primRemInt(vyv345, vyv344)), vyv344, vyv345) The TRS R consists of the following rules: new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primEqInt(Neg(Zero)) -> True new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Zero, vyv34400) -> Zero new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primEqInt(Neg(Succ(vyv38000))) -> False new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_error(h) -> error([]) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Zero)) new_esEs0(Neg(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primEqInt(Neg(Zero)) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_rem0(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (581) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, vyv344, vyv345) -> new_gcd0Gcd'00(vyv344, new_rem0(vyv345, vyv344)) at position [1] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, vyv344, vyv345) -> new_gcd0Gcd'00(vyv344, new_primRemInt(vyv345, vyv344)),new_gcd0Gcd'10(False, vyv344, vyv345) -> new_gcd0Gcd'00(vyv344, new_primRemInt(vyv345, vyv344))) ---------------------------------------- (582) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vyv345, vyv344) -> new_gcd0Gcd'10(new_esEs0(new_primRemInt(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'10(False, vyv344, vyv345) -> new_gcd0Gcd'00(vyv344, new_primRemInt(vyv345, vyv344)) The TRS R consists of the following rules: new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primEqInt(Neg(Zero)) -> True new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Zero, vyv34400) -> Zero new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primEqInt(Neg(Succ(vyv38000))) -> False new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_error(h) -> error([]) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_rem0(vyv345, vyv344) -> new_primRemInt(vyv345, vyv344) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Zero)) new_esEs0(Neg(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primEqInt(Neg(Zero)) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_rem0(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (583) 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. ---------------------------------------- (584) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vyv345, vyv344) -> new_gcd0Gcd'10(new_esEs0(new_primRemInt(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'10(False, vyv344, vyv345) -> new_gcd0Gcd'00(vyv344, new_primRemInt(vyv345, vyv344)) The TRS R consists of the following rules: new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(h) -> error([]) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Zero)) new_esEs0(Neg(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primEqInt(Neg(Zero)) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_rem0(x0, x1) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (585) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_rem0(x0, x1) ---------------------------------------- (586) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vyv345, vyv344) -> new_gcd0Gcd'10(new_esEs0(new_primRemInt(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'10(False, vyv344, vyv345) -> new_gcd0Gcd'00(vyv344, new_primRemInt(vyv345, vyv344)) The TRS R consists of the following rules: new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(h) -> error([]) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Zero)) new_esEs0(Neg(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primEqInt(Neg(Zero)) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (587) MNOCProof (EQUIVALENT) We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. ---------------------------------------- (588) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vyv345, vyv344) -> new_gcd0Gcd'10(new_esEs0(new_primRemInt(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'10(False, vyv344, vyv345) -> new_gcd0Gcd'00(vyv344, new_primRemInt(vyv345, vyv344)) The TRS R consists of the following rules: new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(h) -> error([]) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (589) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'00(vyv345, vyv344) -> new_gcd0Gcd'10(new_esEs0(new_primRemInt(vyv345, vyv344)), vyv344, vyv345) the following chains were created: *We consider the chain new_gcd0Gcd'00(x2, x3) -> new_gcd0Gcd'10(new_esEs0(new_primRemInt(x2, x3)), x3, x2), new_gcd0Gcd'10(False, x4, x5) -> new_gcd0Gcd'00(x4, new_primRemInt(x5, x4)) which results in the following constraint: (1) (new_gcd0Gcd'10(new_esEs0(new_primRemInt(x2, x3)), x3, x2)=new_gcd0Gcd'10(False, x4, x5) ==> new_gcd0Gcd'00(x2, x3)_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(x2, x3)), x3, x2)) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (new_primRemInt(x2, x3)=x12 & new_esEs0(x12)=False ==> new_gcd0Gcd'00(x2, x3)_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(x2, x3)), x3, x2)) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x12)=False which results in the following new constraints: (3) (new_primEqInt(Neg(Succ(x13)))=False & new_primRemInt(x2, x3)=Neg(Succ(x13)) ==> new_gcd0Gcd'00(x2, x3)_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(x2, x3)), x3, x2)) (4) (new_primEqInt(Neg(Zero))=False & new_primRemInt(x2, x3)=Neg(Zero) ==> new_gcd0Gcd'00(x2, x3)_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(x2, x3)), x3, x2)) (5) (new_primEqInt(Pos(Zero))=False & new_primRemInt(x2, x3)=Pos(Zero) ==> new_gcd0Gcd'00(x2, x3)_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(x2, x3)), x3, x2)) (6) (new_primEqInt(Pos(Succ(x14)))=False & new_primRemInt(x2, x3)=Pos(Succ(x14)) ==> new_gcd0Gcd'00(x2, x3)_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(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_primRemInt(x2, x3)=Neg(Succ(x13)) ==> new_gcd0Gcd'00(x2, x3)_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(x2, x3)), x3, x2)) We simplified constraint (4) using rule (VII) which results in the following new constraint: (8) (Neg(Zero)=x60 & new_primEqInt(x60)=False & new_primRemInt(x2, x3)=Neg(Zero) ==> new_gcd0Gcd'00(x2, x3)_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(x2, x3)), x3, x2)) We simplified constraint (5) using rule (VII) which results in the following new constraint: (9) (Pos(Zero)=x63 & new_primEqInt(x63)=False & new_primRemInt(x2, x3)=Pos(Zero) ==> new_gcd0Gcd'00(x2, x3)_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(x2, x3)), x3, x2)) We simplified constraint (6) using rule (VII) which results in the following new constraint: (10) (Pos(Succ(x14))=x66 & new_primEqInt(x66)=False & new_primRemInt(x2, x3)=Pos(Succ(x14)) ==> new_gcd0Gcd'00(x2, x3)_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(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_primRemInt(x2, x3)=Neg(Succ(x13)) ==> new_gcd0Gcd'00(x2, x3)_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(x2, x3)), x3, x2)) (12) (False=False & Neg(Succ(x13))=Neg(Succ(x17)) & new_primRemInt(x2, x3)=Neg(Succ(x13)) ==> new_gcd0Gcd'00(x2, x3)_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(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_primRemInt(x2, x3)=Neg(Succ(x13)) ==> new_gcd0Gcd'00(x2, x3)_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(x2, x3)), x3, x2)) We simplified constraint (13) using rule (V) (with possible (I) afterwards) using induction on new_primRemInt(x2, x3)=Neg(Succ(x13)) which results in the following new constraints: (14) (Neg(new_primModNatS1(x23, x22))=Neg(Succ(x13)) ==> new_gcd0Gcd'00(Neg(x23), Pos(Succ(x22)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(x23), Pos(Succ(x22)))), Pos(Succ(x22)), Neg(x23))) (15) (new_error(ty_Int)=Neg(Succ(x13)) ==> new_gcd0Gcd'00(Pos(x24), Pos(Zero))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(x24), Pos(Zero))), Pos(Zero), Pos(x24))) (16) (new_error(ty_Int)=Neg(Succ(x13)) ==> new_gcd0Gcd'00(Neg(x25), Neg(Zero))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(x25), Neg(Zero))), Neg(Zero), Neg(x25))) (17) (new_error(ty_Int)=Neg(Succ(x13)) ==> new_gcd0Gcd'00(Pos(x26), Neg(Zero))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(x26), Neg(Zero))), Neg(Zero), Pos(x26))) (18) (new_error(ty_Int)=Neg(Succ(x13)) ==> new_gcd0Gcd'00(Neg(x27), Pos(Zero))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(x27), Pos(Zero))), Pos(Zero), Neg(x27))) (19) (Neg(new_primModNatS1(x29, x28))=Neg(Succ(x13)) ==> new_gcd0Gcd'00(Neg(x29), Neg(Succ(x28)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(x29), Neg(Succ(x28)))), Neg(Succ(x28)), Neg(x29))) We simplified constraint (14) using rules (I), (II) which results in the following new constraint: (20) (new_primModNatS1(x23, x22)=Succ(x13) ==> new_gcd0Gcd'00(Neg(x23), Pos(Succ(x22)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(x23), Pos(Succ(x22)))), Pos(Succ(x22)), Neg(x23))) We simplified constraint (15) using rule (VII) which results in the following new constraint: (21) (ty_Int=x41 & new_error(x41)=Neg(Succ(x13)) ==> new_gcd0Gcd'00(Pos(x24), Pos(Zero))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(x24), Pos(Zero))), Pos(Zero), Pos(x24))) We simplified constraint (16) using rule (VII) which results in the following new constraint: (22) (ty_Int=x43 & new_error(x43)=Neg(Succ(x13)) ==> new_gcd0Gcd'00(Neg(x25), Neg(Zero))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(x25), Neg(Zero))), Neg(Zero), Neg(x25))) We simplified constraint (17) using rule (VII) which results in the following new constraint: (23) (ty_Int=x45 & new_error(x45)=Neg(Succ(x13)) ==> new_gcd0Gcd'00(Pos(x26), Neg(Zero))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(x26), Neg(Zero))), Neg(Zero), Pos(x26))) We simplified constraint (18) using rule (VII) which results in the following new constraint: (24) (ty_Int=x47 & new_error(x47)=Neg(Succ(x13)) ==> new_gcd0Gcd'00(Neg(x27), Pos(Zero))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(x27), Pos(Zero))), Pos(Zero), Neg(x27))) We simplified constraint (19) using rules (I), (II) which results in the following new constraint: (25) (new_primModNatS1(x29, x28)=Succ(x13) ==> new_gcd0Gcd'00(Neg(x29), Neg(Succ(x28)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(x29), Neg(Succ(x28)))), Neg(Succ(x28)), Neg(x29))) We simplified constraint (20) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x23, x22)=Succ(x13) which results in the following new constraints: (26) (Succ(Zero)=Succ(x13) ==> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x30))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x30))))), Pos(Succ(Succ(x30))), Neg(Succ(Zero)))) (27) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x13) ==> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Zero)))) (28) (new_primModNatS1(new_primMinusNatS0(x32), Zero)=Succ(x13) ==> new_gcd0Gcd'00(Neg(Succ(Succ(x32))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Succ(x32))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(x32))))) (29) (new_primModNatS02(x34, x33, x34, x33)=Succ(x13) ==> new_gcd0Gcd'00(Neg(Succ(Succ(x34))), Pos(Succ(Succ(x33))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Succ(x34))), Pos(Succ(Succ(x33))))), Pos(Succ(Succ(x33))), Neg(Succ(Succ(x34))))) We simplified constraint (26) using rules (I), (II), (IV) which results in the following new constraint: (30) (new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x30))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x30))))), Pos(Succ(Succ(x30))), Neg(Succ(Zero)))) We simplified constraint (27) using rules (III), (IV), (VII) which results in the following new constraint: (31) (new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Zero)))) We simplified constraint (28) using rules (III), (IV), (VII) which results in the following new constraint: (32) (new_gcd0Gcd'00(Neg(Succ(Succ(x32))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Succ(x32))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(x32))))) We simplified constraint (29) using rules (III), (IV), (VII) which results in the following new constraint: (33) (new_gcd0Gcd'00(Neg(Succ(Succ(x39))), Pos(Succ(Succ(x40))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Succ(x39))), Pos(Succ(Succ(x40))))), Pos(Succ(Succ(x40))), Neg(Succ(Succ(x39))))) We solved constraint (21) using rule (V) (with possible (I) afterwards).We solved constraint (22) using rule (V) (with possible (I) afterwards).We solved constraint (23) using rule (V) (with possible (I) afterwards).We solved constraint (24) using rule (V) (with possible (I) afterwards).We simplified constraint (25) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x29, x28)=Succ(x13) which results in the following new constraints: (34) (Succ(Zero)=Succ(x13) ==> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x49))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x49))))), Neg(Succ(Succ(x49))), Neg(Succ(Zero)))) (35) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x13) ==> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)))) (36) (new_primModNatS1(new_primMinusNatS0(x51), Zero)=Succ(x13) ==> new_gcd0Gcd'00(Neg(Succ(Succ(x51))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Succ(x51))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(x51))))) (37) (new_primModNatS02(x53, x52, x53, x52)=Succ(x13) ==> new_gcd0Gcd'00(Neg(Succ(Succ(x53))), Neg(Succ(Succ(x52))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Succ(x53))), Neg(Succ(Succ(x52))))), Neg(Succ(Succ(x52))), Neg(Succ(Succ(x53))))) We simplified constraint (34) using rules (I), (II), (IV) which results in the following new constraint: (38) (new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x49))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x49))))), Neg(Succ(Succ(x49))), Neg(Succ(Zero)))) We simplified constraint (35) using rules (III), (IV), (VII) which results in the following new constraint: (39) (new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)))) We simplified constraint (36) using rules (III), (IV), (VII) which results in the following new constraint: (40) (new_gcd0Gcd'00(Neg(Succ(Succ(x51))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Succ(x51))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(x51))))) We simplified constraint (37) using rules (III), (IV), (VII) which results in the following new constraint: (41) (new_gcd0Gcd'00(Neg(Succ(Succ(x58))), Neg(Succ(Succ(x59))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Succ(x58))), Neg(Succ(Succ(x59))))), Neg(Succ(Succ(x59))), Neg(Succ(Succ(x58))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x60)=False which results in the following new constraints: (42) (False=False & Neg(Zero)=Pos(Succ(x61)) & new_primRemInt(x2, x3)=Neg(Zero) ==> new_gcd0Gcd'00(x2, x3)_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(x2, x3)), x3, x2)) (43) (False=False & Neg(Zero)=Neg(Succ(x62)) & new_primRemInt(x2, x3)=Neg(Zero) ==> new_gcd0Gcd'00(x2, x3)_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(x2, x3)), x3, x2)) We solved constraint (42) using rules (I), (II).We solved constraint (43) using rules (I), (II).We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x63)=False which results in the following new constraints: (44) (False=False & Pos(Zero)=Pos(Succ(x64)) & new_primRemInt(x2, x3)=Pos(Zero) ==> new_gcd0Gcd'00(x2, x3)_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(x2, x3)), x3, x2)) (45) (False=False & Pos(Zero)=Neg(Succ(x65)) & new_primRemInt(x2, x3)=Pos(Zero) ==> new_gcd0Gcd'00(x2, x3)_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(x2, x3)), x3, x2)) We solved constraint (44) using rules (I), (II).We solved constraint (45) using rules (I), (II).We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x66)=False which results in the following new constraints: (46) (False=False & Pos(Succ(x14))=Pos(Succ(x67)) & new_primRemInt(x2, x3)=Pos(Succ(x14)) ==> new_gcd0Gcd'00(x2, x3)_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(x2, x3)), x3, x2)) (47) (False=False & Pos(Succ(x14))=Neg(Succ(x68)) & new_primRemInt(x2, x3)=Pos(Succ(x14)) ==> new_gcd0Gcd'00(x2, x3)_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(x2, x3)), x3, x2)) We simplified constraint (46) using rules (I), (II), (IV) which results in the following new constraint: (48) (new_primRemInt(x2, x3)=Pos(Succ(x14)) ==> new_gcd0Gcd'00(x2, x3)_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(x2, x3)), x3, x2)) We solved constraint (47) using rules (I), (II).We simplified constraint (48) using rule (V) (with possible (I) afterwards) using induction on new_primRemInt(x2, x3)=Pos(Succ(x14)) which results in the following new constraints: (49) (Pos(new_primModNatS1(x70, x69))=Pos(Succ(x14)) ==> new_gcd0Gcd'00(Pos(x70), Neg(Succ(x69)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(x70), Neg(Succ(x69)))), Neg(Succ(x69)), Pos(x70))) (50) (Pos(new_primModNatS1(x72, x71))=Pos(Succ(x14)) ==> new_gcd0Gcd'00(Pos(x72), Pos(Succ(x71)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(x72), Pos(Succ(x71)))), Pos(Succ(x71)), Pos(x72))) (51) (new_error(ty_Int)=Pos(Succ(x14)) ==> new_gcd0Gcd'00(Pos(x75), Pos(Zero))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(x75), Pos(Zero))), Pos(Zero), Pos(x75))) (52) (new_error(ty_Int)=Pos(Succ(x14)) ==> new_gcd0Gcd'00(Neg(x76), Neg(Zero))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(x76), Neg(Zero))), Neg(Zero), Neg(x76))) (53) (new_error(ty_Int)=Pos(Succ(x14)) ==> new_gcd0Gcd'00(Pos(x77), Neg(Zero))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(x77), Neg(Zero))), Neg(Zero), Pos(x77))) (54) (new_error(ty_Int)=Pos(Succ(x14)) ==> new_gcd0Gcd'00(Neg(x78), Pos(Zero))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(x78), Pos(Zero))), Pos(Zero), Neg(x78))) We simplified constraint (49) using rules (I), (II) which results in the following new constraint: (55) (new_primModNatS1(x70, x69)=Succ(x14) ==> new_gcd0Gcd'00(Pos(x70), Neg(Succ(x69)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(x70), Neg(Succ(x69)))), Neg(Succ(x69)), Pos(x70))) We simplified constraint (50) using rules (I), (II) which results in the following new constraint: (56) (new_primModNatS1(x72, x71)=Succ(x14) ==> new_gcd0Gcd'00(Pos(x72), Pos(Succ(x71)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(x72), Pos(Succ(x71)))), Pos(Succ(x71)), Pos(x72))) We simplified constraint (51) using rule (VII) which results in the following new constraint: (57) (ty_Int=x103 & new_error(x103)=Pos(Succ(x14)) ==> new_gcd0Gcd'00(Pos(x75), Pos(Zero))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(x75), Pos(Zero))), Pos(Zero), Pos(x75))) We simplified constraint (52) using rule (VII) which results in the following new constraint: (58) (ty_Int=x105 & new_error(x105)=Pos(Succ(x14)) ==> new_gcd0Gcd'00(Neg(x76), Neg(Zero))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(x76), Neg(Zero))), Neg(Zero), Neg(x76))) We simplified constraint (53) using rule (VII) which results in the following new constraint: (59) (ty_Int=x107 & new_error(x107)=Pos(Succ(x14)) ==> new_gcd0Gcd'00(Pos(x77), Neg(Zero))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(x77), Neg(Zero))), Neg(Zero), Pos(x77))) We simplified constraint (54) using rule (VII) which results in the following new constraint: (60) (ty_Int=x109 & new_error(x109)=Pos(Succ(x14)) ==> new_gcd0Gcd'00(Neg(x78), Pos(Zero))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(x78), Pos(Zero))), Pos(Zero), Neg(x78))) We simplified constraint (55) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x70, x69)=Succ(x14) which results in the following new constraints: (61) (Succ(Zero)=Succ(x14) ==> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x81))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x81))))), Neg(Succ(Succ(x81))), Pos(Succ(Zero)))) (62) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x14) ==> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Zero)))) (63) (new_primModNatS1(new_primMinusNatS0(x83), Zero)=Succ(x14) ==> new_gcd0Gcd'00(Pos(Succ(Succ(x83))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Succ(x83))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(x83))))) (64) (new_primModNatS02(x85, x84, x85, x84)=Succ(x14) ==> new_gcd0Gcd'00(Pos(Succ(Succ(x85))), Neg(Succ(Succ(x84))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Succ(x85))), Neg(Succ(Succ(x84))))), Neg(Succ(Succ(x84))), Pos(Succ(Succ(x85))))) We simplified constraint (61) using rules (I), (II), (IV) which results in the following new constraint: (65) (new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x81))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x81))))), Neg(Succ(Succ(x81))), Pos(Succ(Zero)))) We simplified constraint (62) using rules (III), (IV), (VII) which results in the following new constraint: (66) (new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Zero)))) We simplified constraint (63) using rules (III), (IV), (VII) which results in the following new constraint: (67) (new_gcd0Gcd'00(Pos(Succ(Succ(x83))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Succ(x83))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(x83))))) We simplified constraint (64) using rules (III), (IV), (VII) which results in the following new constraint: (68) (new_gcd0Gcd'00(Pos(Succ(Succ(x90))), Neg(Succ(Succ(x91))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Succ(x90))), Neg(Succ(Succ(x91))))), Neg(Succ(Succ(x91))), Pos(Succ(Succ(x90))))) We simplified constraint (56) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x72, x71)=Succ(x14) which results in the following new constraints: (69) (Succ(Zero)=Succ(x14) ==> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x92))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x92))))), Pos(Succ(Succ(x92))), Pos(Succ(Zero)))) (70) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x14) ==> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)))) (71) (new_primModNatS1(new_primMinusNatS0(x94), Zero)=Succ(x14) ==> new_gcd0Gcd'00(Pos(Succ(Succ(x94))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Succ(x94))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(x94))))) (72) (new_primModNatS02(x96, x95, x96, x95)=Succ(x14) ==> new_gcd0Gcd'00(Pos(Succ(Succ(x96))), Pos(Succ(Succ(x95))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Succ(x96))), Pos(Succ(Succ(x95))))), Pos(Succ(Succ(x95))), Pos(Succ(Succ(x96))))) We simplified constraint (69) using rules (I), (II), (IV) which results in the following new constraint: (73) (new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x92))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x92))))), Pos(Succ(Succ(x92))), Pos(Succ(Zero)))) We simplified constraint (70) using rules (III), (IV), (VII) which results in the following new constraint: (74) (new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)))) We simplified constraint (71) using rules (III), (IV), (VII) which results in the following new constraint: (75) (new_gcd0Gcd'00(Pos(Succ(Succ(x94))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Succ(x94))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(x94))))) We simplified constraint (72) using rules (III), (IV), (VII) which results in the following new constraint: (76) (new_gcd0Gcd'00(Pos(Succ(Succ(x101))), Pos(Succ(Succ(x102))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Succ(x101))), Pos(Succ(Succ(x102))))), Pos(Succ(Succ(x102))), Pos(Succ(Succ(x101))))) We solved constraint (57) using rule (V) (with possible (I) afterwards).We solved constraint (58) using rule (V) (with possible (I) afterwards).We solved constraint (59) using rule (V) (with possible (I) afterwards).We solved constraint (60) using rule (V) (with possible (I) afterwards). For Pair new_gcd0Gcd'10(False, vyv344, vyv345) -> new_gcd0Gcd'00(vyv344, new_primRemInt(vyv345, vyv344)) the following chains were created: *We consider the chain new_gcd0Gcd'10(False, x6, x7) -> new_gcd0Gcd'00(x6, new_primRemInt(x7, x6)), new_gcd0Gcd'00(x8, x9) -> new_gcd0Gcd'10(new_esEs0(new_primRemInt(x8, x9)), x9, x8) which results in the following constraint: (1) (new_gcd0Gcd'00(x6, new_primRemInt(x7, x6))=new_gcd0Gcd'00(x8, x9) ==> new_gcd0Gcd'10(False, x6, x7)_>=_new_gcd0Gcd'00(x6, new_primRemInt(x7, x6))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'10(False, x6, x7)_>=_new_gcd0Gcd'00(x6, new_primRemInt(x7, x6))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'00(vyv345, vyv344) -> new_gcd0Gcd'10(new_esEs0(new_primRemInt(vyv345, vyv344)), vyv344, vyv345) *(new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x30))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x30))))), Pos(Succ(Succ(x30))), Neg(Succ(Zero)))) *(new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x49))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x49))))), Neg(Succ(Succ(x49))), Neg(Succ(Zero)))) *(new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x81))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x81))))), Neg(Succ(Succ(x81))), Pos(Succ(Zero)))) *(new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x92))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x92))))), Pos(Succ(Succ(x92))), Pos(Succ(Zero)))) *(new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Zero)))) *(new_gcd0Gcd'00(Neg(Succ(Succ(x32))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Succ(x32))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(x32))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(x39))), Pos(Succ(Succ(x40))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Succ(x39))), Pos(Succ(Succ(x40))))), Pos(Succ(Succ(x40))), Neg(Succ(Succ(x39))))) *(new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)))) *(new_gcd0Gcd'00(Neg(Succ(Succ(x51))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Succ(x51))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(x51))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(x58))), Neg(Succ(Succ(x59))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Succ(x58))), Neg(Succ(Succ(x59))))), Neg(Succ(Succ(x59))), Neg(Succ(Succ(x58))))) *(new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Zero)))) *(new_gcd0Gcd'00(Pos(Succ(Succ(x83))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Succ(x83))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(x83))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(x90))), Neg(Succ(Succ(x91))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Succ(x90))), Neg(Succ(Succ(x91))))), Neg(Succ(Succ(x91))), Pos(Succ(Succ(x90))))) *(new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)))) *(new_gcd0Gcd'00(Pos(Succ(Succ(x94))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Succ(x94))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(x94))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(x101))), Pos(Succ(Succ(x102))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Succ(x101))), Pos(Succ(Succ(x102))))), Pos(Succ(Succ(x102))), Pos(Succ(Succ(x101))))) *new_gcd0Gcd'10(False, vyv344, vyv345) -> new_gcd0Gcd'00(vyv344, new_primRemInt(vyv345, vyv344)) *(new_gcd0Gcd'10(False, x6, x7)_>=_new_gcd0Gcd'00(x6, new_primRemInt(x7, x6))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (590) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vyv345, vyv344) -> new_gcd0Gcd'10(new_esEs0(new_primRemInt(vyv345, vyv344)), vyv344, vyv345) new_gcd0Gcd'10(False, vyv344, vyv345) -> new_gcd0Gcd'00(vyv344, new_primRemInt(vyv345, vyv344)) The TRS R consists of the following rules: new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(h) -> error([]) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Zero)) new_esEs0(Neg(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primEqInt(Neg(Zero)) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (591) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(vyv345, vyv344) -> new_gcd0Gcd'10(new_esEs0(new_primRemInt(vyv345, vyv344)), vyv344, vyv345) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)),new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0))) (new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)),new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0))) (new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)),new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0))) (new_gcd0Gcd'00(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error(ty_Int)), Pos(Zero), Pos(x0)),new_gcd0Gcd'00(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error(ty_Int)), Pos(Zero), Pos(x0))) (new_gcd0Gcd'00(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error(ty_Int)), Neg(Zero), Neg(x0)),new_gcd0Gcd'00(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error(ty_Int)), Neg(Zero), Neg(x0))) (new_gcd0Gcd'00(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error(ty_Int)), Neg(Zero), Pos(x0)),new_gcd0Gcd'00(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error(ty_Int)), Neg(Zero), Pos(x0))) (new_gcd0Gcd'00(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error(ty_Int)), Pos(Zero), Neg(x0)),new_gcd0Gcd'00(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error(ty_Int)), Pos(Zero), Neg(x0))) (new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)),new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0))) ---------------------------------------- (592) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, vyv344, vyv345) -> new_gcd0Gcd'00(vyv344, new_primRemInt(vyv345, vyv344)) new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'00(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error(ty_Int)), Pos(Zero), Pos(x0)) new_gcd0Gcd'00(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error(ty_Int)), Neg(Zero), Neg(x0)) new_gcd0Gcd'00(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error(ty_Int)), Neg(Zero), Pos(x0)) new_gcd0Gcd'00(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error(ty_Int)), Pos(Zero), Neg(x0)) new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) The TRS R consists of the following rules: new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(h) -> error([]) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Zero)) new_esEs0(Neg(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primEqInt(Neg(Zero)) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (593) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error(ty_Int)), Pos(Zero), Pos(x0)) at position [0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(error([])), Pos(Zero), Pos(x0)),new_gcd0Gcd'00(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(error([])), Pos(Zero), Pos(x0))) ---------------------------------------- (594) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, vyv344, vyv345) -> new_gcd0Gcd'00(vyv344, new_primRemInt(vyv345, vyv344)) new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'00(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error(ty_Int)), Neg(Zero), Neg(x0)) new_gcd0Gcd'00(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error(ty_Int)), Neg(Zero), Pos(x0)) new_gcd0Gcd'00(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error(ty_Int)), Pos(Zero), Neg(x0)) new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'00(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(error([])), Pos(Zero), Pos(x0)) The TRS R consists of the following rules: new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(h) -> error([]) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Zero)) new_esEs0(Neg(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primEqInt(Neg(Zero)) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (595) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (596) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'10(False, vyv344, vyv345) -> new_gcd0Gcd'00(vyv344, new_primRemInt(vyv345, vyv344)) new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'00(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error(ty_Int)), Neg(Zero), Neg(x0)) new_gcd0Gcd'00(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error(ty_Int)), Neg(Zero), Pos(x0)) new_gcd0Gcd'00(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error(ty_Int)), Pos(Zero), Neg(x0)) new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) The TRS R consists of the following rules: new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(h) -> error([]) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Zero)) new_esEs0(Neg(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primEqInt(Neg(Zero)) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (597) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error(ty_Int)), Neg(Zero), Neg(x0)) at position [0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(error([])), Neg(Zero), Neg(x0)),new_gcd0Gcd'00(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(error([])), Neg(Zero), Neg(x0))) ---------------------------------------- (598) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'10(False, vyv344, vyv345) -> new_gcd0Gcd'00(vyv344, new_primRemInt(vyv345, vyv344)) new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'00(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error(ty_Int)), Neg(Zero), Pos(x0)) new_gcd0Gcd'00(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error(ty_Int)), Pos(Zero), Neg(x0)) new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'00(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(error([])), Neg(Zero), Neg(x0)) The TRS R consists of the following rules: new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(h) -> error([]) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Zero)) new_esEs0(Neg(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primEqInt(Neg(Zero)) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (599) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (600) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, vyv344, vyv345) -> new_gcd0Gcd'00(vyv344, new_primRemInt(vyv345, vyv344)) new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'00(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error(ty_Int)), Neg(Zero), Pos(x0)) new_gcd0Gcd'00(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error(ty_Int)), Pos(Zero), Neg(x0)) new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) The TRS R consists of the following rules: new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(h) -> error([]) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Zero)) new_esEs0(Neg(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primEqInt(Neg(Zero)) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (601) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error(ty_Int)), Neg(Zero), Pos(x0)) at position [0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(error([])), Neg(Zero), Pos(x0)),new_gcd0Gcd'00(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(error([])), Neg(Zero), Pos(x0))) ---------------------------------------- (602) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, vyv344, vyv345) -> new_gcd0Gcd'00(vyv344, new_primRemInt(vyv345, vyv344)) new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'00(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error(ty_Int)), Pos(Zero), Neg(x0)) new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'00(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(error([])), Neg(Zero), Pos(x0)) The TRS R consists of the following rules: new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(h) -> error([]) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Zero)) new_esEs0(Neg(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primEqInt(Neg(Zero)) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (603) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (604) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'10(False, vyv344, vyv345) -> new_gcd0Gcd'00(vyv344, new_primRemInt(vyv345, vyv344)) new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'00(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error(ty_Int)), Pos(Zero), Neg(x0)) new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) The TRS R consists of the following rules: new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(h) -> error([]) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Zero)) new_esEs0(Neg(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primEqInt(Neg(Zero)) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (605) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error(ty_Int)), Pos(Zero), Neg(x0)) at position [0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(error([])), Pos(Zero), Neg(x0)),new_gcd0Gcd'00(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(error([])), Pos(Zero), Neg(x0))) ---------------------------------------- (606) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'10(False, vyv344, vyv345) -> new_gcd0Gcd'00(vyv344, new_primRemInt(vyv345, vyv344)) new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'00(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(error([])), Pos(Zero), Neg(x0)) The TRS R consists of the following rules: new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(h) -> error([]) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Zero)) new_esEs0(Neg(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primEqInt(Neg(Zero)) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (607) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (608) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, vyv344, vyv345) -> new_gcd0Gcd'00(vyv344, new_primRemInt(vyv345, vyv344)) new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) The TRS R consists of the following rules: new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(h) -> error([]) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Zero)) new_esEs0(Neg(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primEqInt(Neg(Zero)) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (609) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, vyv344, vyv345) -> new_gcd0Gcd'00(vyv344, new_primRemInt(vyv345, vyv344)) at position [1] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'00(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))),new_gcd0Gcd'10(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'00(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1)))) (new_gcd0Gcd'10(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))),new_gcd0Gcd'10(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1)))) (new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))),new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1)))) (new_gcd0Gcd'10(False, Pos(Zero), Pos(x0)) -> new_gcd0Gcd'00(Pos(Zero), new_error(ty_Int)),new_gcd0Gcd'10(False, Pos(Zero), Pos(x0)) -> new_gcd0Gcd'00(Pos(Zero), new_error(ty_Int))) (new_gcd0Gcd'10(False, Neg(Zero), Neg(x0)) -> new_gcd0Gcd'00(Neg(Zero), new_error(ty_Int)),new_gcd0Gcd'10(False, Neg(Zero), Neg(x0)) -> new_gcd0Gcd'00(Neg(Zero), new_error(ty_Int))) (new_gcd0Gcd'10(False, Neg(Zero), Pos(x0)) -> new_gcd0Gcd'00(Neg(Zero), new_error(ty_Int)),new_gcd0Gcd'10(False, Neg(Zero), Pos(x0)) -> new_gcd0Gcd'00(Neg(Zero), new_error(ty_Int))) (new_gcd0Gcd'10(False, Pos(Zero), Neg(x0)) -> new_gcd0Gcd'00(Pos(Zero), new_error(ty_Int)),new_gcd0Gcd'10(False, Pos(Zero), Neg(x0)) -> new_gcd0Gcd'00(Pos(Zero), new_error(ty_Int))) (new_gcd0Gcd'10(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))),new_gcd0Gcd'10(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1)))) ---------------------------------------- (610) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'10(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'00(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'10(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'10(False, Pos(Zero), Pos(x0)) -> new_gcd0Gcd'00(Pos(Zero), new_error(ty_Int)) new_gcd0Gcd'10(False, Neg(Zero), Neg(x0)) -> new_gcd0Gcd'00(Neg(Zero), new_error(ty_Int)) new_gcd0Gcd'10(False, Neg(Zero), Pos(x0)) -> new_gcd0Gcd'00(Neg(Zero), new_error(ty_Int)) new_gcd0Gcd'10(False, Pos(Zero), Neg(x0)) -> new_gcd0Gcd'00(Pos(Zero), new_error(ty_Int)) new_gcd0Gcd'10(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(h) -> error([]) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Zero)) new_esEs0(Neg(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primEqInt(Neg(Zero)) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (611) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 4 less nodes. ---------------------------------------- (612) Complex Obligation (AND) ---------------------------------------- (613) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) The TRS R consists of the following rules: new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(h) -> error([]) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Zero)) new_esEs0(Neg(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primEqInt(Neg(Zero)) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (614) 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. ---------------------------------------- (615) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Zero)) new_esEs0(Neg(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primEqInt(Neg(Zero)) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (616) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primRemInt(Neg(x0), Neg(Zero)) ---------------------------------------- (617) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (618) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero)))) (new_gcd0Gcd'10(False, Neg(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'00(Neg(Succ(x0)), Neg(Zero)),new_gcd0Gcd'10(False, Neg(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'00(Neg(Succ(x0)), Neg(Zero))) (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))),new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1)))) ---------------------------------------- (619) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'00(Neg(Succ(x0)), Neg(Zero)) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (620) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (621) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (622) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (623) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (624) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (625) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (626) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (627) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (628) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)))) (new_gcd0Gcd'00(Neg(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Neg(Succ(x0)), Neg(Zero)),new_gcd0Gcd'00(Neg(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Neg(Succ(x0)), Neg(Zero))) (new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))),new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0))))) (new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Zero))),new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)))) (new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))),new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))))) ---------------------------------------- (629) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Neg(Succ(x0)), Neg(Zero)) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (630) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 2 less nodes. ---------------------------------------- (631) Complex Obligation (AND) ---------------------------------------- (632) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (633) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (634) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (635) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primMinusNatS2(Zero, Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) ---------------------------------------- (636) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (637) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))),new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0))))) ---------------------------------------- (638) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) The TRS R consists of the following rules: new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (639) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_primEqInt(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_primEqInt(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)))) ---------------------------------------- (640) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_primEqInt(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (641) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_primEqInt(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero)))) ---------------------------------------- (642) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (643) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (644) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (645) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (646) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (647) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (648) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (649) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (650) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (651) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero))))) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))))) ---------------------------------------- (652) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) The TRS R consists of the following rules: new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (653) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (654) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (655) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))))) ---------------------------------------- (656) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) The TRS R consists of the following rules: new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (657) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (658) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (659) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (660) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (661) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (662) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (663) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (664) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (665) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))))) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))))) ---------------------------------------- (666) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (667) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (668) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (669) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))))) ---------------------------------------- (670) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (671) QDPSizeChangeProof (EQUIVALENT) We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. Order:Polynomial interpretation [POLO]: POL(False) = 1 POL(Neg(x_1)) = x_1 POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 1 POL(new_primMinusNatS0(x_1)) = 1 + x_1 POL(new_primMinusNatS1) = 1 POL(new_primModNatS1(x_1, x_2)) = x_1 From the DPs we obtained the following set of size-change graphs: *new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) (allowed arguments on rhs = {2, 3}) The graph contains the following edges 2 >= 2, 1 >= 3 *new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) (allowed arguments on rhs = {2, 3}) The graph contains the following edges 2 >= 2, 1 >= 3 *new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 2 >= 1, 3 >= 2 *new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 2 >= 1, 3 > 2 We oriented the following set of usable rules [AAECC05,FROCOS05]. new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) ---------------------------------------- (672) YES ---------------------------------------- (673) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (674) 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. ---------------------------------------- (675) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (676) 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) ---------------------------------------- (677) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (678) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))))) (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (679) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (680) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) ---------------------------------------- (681) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (682) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (683) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (684) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_primEqInt(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_primEqInt(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (685) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(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(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (686) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) ---------------------------------------- (687) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_primEqInt(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(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(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (688) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (689) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_primEqInt(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (690) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(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'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (691) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (692) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) ---------------------------------------- (693) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(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(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (694) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (695) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (696) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (697) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (698) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (699) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (700) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (701) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (702) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (703) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (704) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (705) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (706) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_primEqInt(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_primEqInt(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (707) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(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(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (708) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (709) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_primEqInt(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(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(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (710) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (711) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_primEqInt(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (712) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_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'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (713) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (714) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (715) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (716) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (717) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (718) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (719) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (720) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (721) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (722) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (723) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (724) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (725) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (726) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero)))) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero)))) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (727) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (728) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. ---------------------------------------- (729) Complex Obligation (AND) ---------------------------------------- (730) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (731) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (732) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (733) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) ---------------------------------------- (734) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (735) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) ---------------------------------------- (736) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (737) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))))) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (738) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (739) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_primEqInt(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_primEqInt(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (740) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_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(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (741) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(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'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (742) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (743) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero)))) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Zero)))) ---------------------------------------- (744) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (745) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. ---------------------------------------- (746) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (747) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(False) = 0 POL(Neg(x_1)) = 1 + 2*x_1 POL(Succ(x_1)) = 1 + x_1 POL(True) = 3 POL(Zero) = 1 POL(new_esEs0(x_1)) = 0 POL(new_gcd0Gcd'00(x_1, x_2)) = 2 + x_1 + x_2 POL(new_gcd0Gcd'10(x_1, x_2, x_3)) = 2 + x_2 + x_3 POL(new_primEqInt(x_1)) = 3 POL(new_primMinusNatS2(x_1, x_2)) = x_1 POL(new_primModNatS01(x_1, x_2)) = 3 + x_1 POL(new_primModNatS02(x_1, x_2, x_3, x_4)) = 3 + x_1 POL(new_primModNatS1(x_1, x_2)) = 2 + x_1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) ---------------------------------------- (748) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (749) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 3 less nodes. ---------------------------------------- (750) TRUE ---------------------------------------- (751) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (752) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))))) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero))))) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (753) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (754) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. ---------------------------------------- (755) Complex Obligation (AND) ---------------------------------------- (756) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (757) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) ---------------------------------------- (758) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (759) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) ---------------------------------------- (760) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (761) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) ---------------------------------------- (762) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (763) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) ---------------------------------------- (764) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (765) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(False) = 0 POL(Neg(x_1)) = 2*x_1 POL(Succ(x_1)) = 1 + x_1 POL(True) = 3 POL(Zero) = 0 POL(new_esEs0(x_1)) = 0 POL(new_gcd0Gcd'00(x_1, x_2)) = 2 + x_1 + x_2 POL(new_gcd0Gcd'10(x_1, x_2, x_3)) = 2 + x_2 + x_3 POL(new_primEqInt(x_1)) = 3 POL(new_primMinusNatS2(x_1, x_2)) = x_1 POL(new_primModNatS01(x_1, x_2)) = 2 + x_1 POL(new_primModNatS02(x_1, x_2, x_3, x_4)) = 2 + x_1 POL(new_primModNatS1(x_1, x_2)) = 1 + x_1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) ---------------------------------------- (766) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (767) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 3 less nodes. ---------------------------------------- (768) TRUE ---------------------------------------- (769) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (770) 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_esEs0(Pos(Succ(x0))) new_primEqInt(Pos(Succ(x0))) new_esEs0(Pos(Zero)) ---------------------------------------- (771) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all (P,Q,R)-chains. ---------------------------------------- (772) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: *We consider the chain new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2))), new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x4))))), Neg(Succ(Succ(Succ(Succ(x5)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x4)), Succ(Succ(x5)), x4, x5))), Neg(Succ(Succ(Succ(Succ(x5))))), Neg(Succ(Succ(Succ(Succ(x4)))))) which results in the following constraint: (1) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))=new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x4))))), Neg(Succ(Succ(Succ(Succ(x5)))))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(Succ(x3))=x12 & Succ(Succ(x2))=x13 & new_primModNatS02(x12, x13, x3, x2)=Succ(Succ(Succ(Succ(x5)))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x12, x13, x3, x2)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: (3) (new_primModNatS01(x16, x15)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x14)))=x16 & Succ(Succ(Zero))=x15 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x14)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x14))), Succ(Succ(Zero)), Succ(x14), Zero)))) (4) (new_primModNatS02(x20, x19, x18, x17)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x18)))=x20 & Succ(Succ(Succ(x17)))=x19 & (\/x21:new_primModNatS02(x20, x19, x18, x17)=Succ(Succ(Succ(Succ(x21)))) & Succ(Succ(x18))=x20 & Succ(Succ(x17))=x19 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x17))))), Neg(Succ(Succ(Succ(Succ(x18))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x17))))), Neg(new_primModNatS02(Succ(Succ(x18)), Succ(Succ(x17)), x18, x17)))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(x17)))))), Neg(Succ(Succ(Succ(Succ(Succ(x18)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x17)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x18))), Succ(Succ(Succ(x17))), Succ(x18), Succ(x17))))) (5) (new_primModNatS01(x23, x22)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x23 & Succ(Succ(Zero))=x22 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) (6) (Succ(Succ(x26))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x26 & Succ(Succ(Succ(x24)))=x25 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x16, x15)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: (7) (new_primModNatS1(new_primMinusNatS2(Succ(x28), Succ(x27)), Succ(x27))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x14)))=x28 & Succ(Succ(Zero))=x27 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x14)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x14))), Succ(Succ(Zero)), Succ(x14), Zero)))) We simplified constraint (4) using rule (IV) which results in the following new constraint: (8) (new_primModNatS02(x20, x19, x18, x17)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x18)))=x20 & Succ(Succ(Succ(x17)))=x19 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(x17)))))), Neg(Succ(Succ(Succ(Succ(Succ(x18)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x17)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x18))), Succ(Succ(Succ(x17))), Succ(x18), Succ(x17))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x23, x22)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x47), Succ(x46)), Succ(x46))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x47 & Succ(Succ(Zero))=x46 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: (11) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x14)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x14))), Succ(Succ(Zero)), Succ(x14), Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x20, x19, x18, x17)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: (12) (new_primModNatS01(x35, x34)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x33))))=x35 & Succ(Succ(Succ(Zero)))=x34 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x33)))), Succ(Succ(Succ(Zero))), Succ(Succ(x33)), Succ(Zero))))) (13) (new_primModNatS02(x39, x38, x37, x36)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x37))))=x39 & Succ(Succ(Succ(Succ(x36))))=x38 & (\/x40:new_primModNatS02(x39, x38, x37, x36)=Succ(Succ(Succ(Succ(x40)))) & Succ(Succ(Succ(x37)))=x39 & Succ(Succ(Succ(x36)))=x38 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(x36)))))), Neg(Succ(Succ(Succ(Succ(Succ(x37)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x36)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x37))), Succ(Succ(Succ(x36))), Succ(x37), Succ(x36))))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x37))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x37)))), Succ(Succ(Succ(Succ(x36)))), Succ(Succ(x37)), Succ(Succ(x36)))))) (14) (new_primModNatS01(x42, x41)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x42 & Succ(Succ(Succ(Zero)))=x41 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) (15) (Succ(Succ(x45))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x45 & Succ(Succ(Succ(Succ(x43))))=x44 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: (16) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x33)))), Succ(Succ(Succ(Zero))), Succ(Succ(x33)), Succ(Zero))))) We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: (17) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x37))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x37)))), Succ(Succ(Succ(Succ(x36)))), Succ(Succ(x37)), Succ(Succ(x36)))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (20) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) For Pair new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6)))))), new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Succ(x9)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(new_primModNatS02(Succ(Succ(x9)), Succ(Succ(x8)), x9, x8))) which results in the following constraint: (1) (new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))=new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Succ(x9)))))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Neg(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))=x52 & new_esEs0(x52)=False ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x52)=False which results in the following new constraints: (3) (new_primEqInt(Neg(Succ(x53)))=False & Neg(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))=Neg(Succ(x53)) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) (4) (new_primEqInt(Neg(Zero))=False & Neg(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))=Neg(Zero) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (5) (Neg(Succ(x53))=x54 & new_primEqInt(x54)=False & Succ(Succ(x6))=x55 & Succ(Succ(x7))=x56 & new_primModNatS02(x55, x56, x6, x7)=Succ(x53) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (4) using 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_primModNatS02(x97, x98, x6, x7)=Zero ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (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_primModNatS02(x55, x56, x6, x7)=Succ(x53) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: (8) (Succ(Succ(x6))=x55 & Succ(Succ(x7))=x56 & new_primModNatS02(x55, x56, x6, x7)=Succ(x53) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x55, x56, x6, x7)=Succ(x53) which results in the following new constraints: (9) (new_primModNatS01(x60, x59)=Succ(x53) & Succ(Succ(Succ(x58)))=x60 & Succ(Succ(Zero))=x59 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x58)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(x58))), Succ(Succ(Zero)), Succ(x58), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x58)))))))) (10) (new_primModNatS02(x64, x63, x62, x61)=Succ(x53) & Succ(Succ(Succ(x62)))=x64 & Succ(Succ(Succ(x61)))=x63 & (\/x65:new_primModNatS02(x64, x63, x62, x61)=Succ(x65) & Succ(Succ(x62))=x64 & Succ(Succ(x61))=x63 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x62))))), Neg(Succ(Succ(Succ(Succ(x61))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x62)), Succ(Succ(x61)), x62, x61))), Neg(Succ(Succ(Succ(Succ(x61))))), Neg(Succ(Succ(Succ(Succ(x62))))))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x62)))))), Neg(Succ(Succ(Succ(Succ(Succ(x61)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(x62))), Succ(Succ(Succ(x61))), Succ(x62), Succ(x61)))), Neg(Succ(Succ(Succ(Succ(Succ(x61)))))), Neg(Succ(Succ(Succ(Succ(Succ(x62)))))))) (11) (new_primModNatS01(x67, x66)=Succ(x53) & Succ(Succ(Zero))=x67 & Succ(Succ(Zero))=x66 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) (12) (Succ(Succ(x70))=Succ(x53) & Succ(Succ(Zero))=x70 & Succ(Succ(Succ(x68)))=x69 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x68)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(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_primModNatS01(x60, x59)=Succ(x53) which results in the following new constraint: (13) (new_primModNatS1(new_primMinusNatS2(Succ(x72), Succ(x71)), Succ(x71))=Succ(x53) & Succ(Succ(Succ(x58)))=x72 & Succ(Succ(Zero))=x71 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x58)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(x58))), Succ(Succ(Zero)), Succ(x58), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x58)))))))) We simplified constraint (10) using rule (IV) which results in the following new constraint: (14) (new_primModNatS02(x64, x63, x62, x61)=Succ(x53) & Succ(Succ(Succ(x62)))=x64 & Succ(Succ(Succ(x61)))=x63 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x62)))))), Neg(Succ(Succ(Succ(Succ(Succ(x61)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(x62))), Succ(Succ(Succ(x61))), Succ(x62), Succ(x61)))), Neg(Succ(Succ(Succ(Succ(Succ(x61)))))), Neg(Succ(Succ(Succ(Succ(Succ(x62)))))))) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(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(Zero))=x91 & Succ(Succ(Zero))=x90 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (12) using rules (I), (II), (IV) which results in the following new constraint: (16) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x68)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(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'00(Neg(Succ(Succ(Succ(Succ(Succ(x58)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(x58))), Succ(Succ(Zero)), Succ(x58), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x58)))))))) We simplified constraint (14) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x64, x63, x62, x61)=Succ(x53) which results in the following new constraints: (18) (new_primModNatS01(x79, x78)=Succ(x53) & Succ(Succ(Succ(Succ(x77))))=x79 & Succ(Succ(Succ(Zero)))=x78 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x77)))), Succ(Succ(Succ(Zero))), Succ(Succ(x77)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))))) (19) (new_primModNatS02(x83, x82, x81, x80)=Succ(x53) & Succ(Succ(Succ(Succ(x81))))=x83 & Succ(Succ(Succ(Succ(x80))))=x82 & (\/x84:new_primModNatS02(x83, x82, x81, x80)=Succ(x84) & Succ(Succ(Succ(x81)))=x83 & Succ(Succ(Succ(x80)))=x82 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x81)))))), Neg(Succ(Succ(Succ(Succ(Succ(x80)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(x81))), Succ(Succ(Succ(x80))), Succ(x81), Succ(x80)))), Neg(Succ(Succ(Succ(Succ(Succ(x80)))))), Neg(Succ(Succ(Succ(Succ(Succ(x81)))))))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x81))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x80))))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x81)))), Succ(Succ(Succ(Succ(x80)))), Succ(Succ(x81)), Succ(Succ(x80))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x80))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x81))))))))) (20) (new_primModNatS01(x86, x85)=Succ(x53) & Succ(Succ(Succ(Zero)))=x86 & Succ(Succ(Succ(Zero)))=x85 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) (21) (Succ(Succ(x89))=Succ(x53) & Succ(Succ(Succ(Zero)))=x89 & Succ(Succ(Succ(Succ(x87))))=x88 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x87))))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(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'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x77)))), Succ(Succ(Succ(Zero))), Succ(Succ(x77)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))))) We simplified constraint (19) using rules (III), (IV) which results in the following new constraint: (23) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x81))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x80))))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x81)))), Succ(Succ(Succ(Succ(x80)))), Succ(Succ(x81)), Succ(Succ(x80))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x80))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x81))))))))) We simplified constraint (20) using rules (III), (IV) which results in the following new constraint: (24) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (21) using rules (I), (II), (IV) which results in the following new constraint: (25) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x87))))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(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'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (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_primModNatS02(x97, x98, x6, x7)=Zero ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) We solved constraint (27) using rules (I), (II). To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x14)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x14))), Succ(Succ(Zero)), Succ(x14), Zero)))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x33)))), Succ(Succ(Succ(Zero))), Succ(Succ(x33)), Succ(Zero))))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x37))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x37)))), Succ(Succ(Succ(Succ(x36)))), Succ(Succ(x37)), Succ(Succ(x36)))))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) *new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x87))))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(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'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x68)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(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'00(Neg(Succ(Succ(Succ(Succ(Succ(x58)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(x58))), Succ(Succ(Zero)), Succ(x58), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x58)))))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x77)))), Succ(Succ(Succ(Zero))), Succ(Succ(x77)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x81))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x80))))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x81)))), Succ(Succ(Succ(Succ(x80)))), Succ(Succ(x81)), Succ(Succ(x80))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x80))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x81))))))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (773) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (774) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) The TRS R consists of the following rules: new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(h) -> error([]) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Zero)) new_esEs0(Neg(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primEqInt(Neg(Zero)) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (775) 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. ---------------------------------------- (776) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Zero)) new_esEs0(Neg(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primEqInt(Neg(Zero)) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (777) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primRemInt(Neg(x0), Neg(Zero)) ---------------------------------------- (778) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (779) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero)))) (new_gcd0Gcd'10(False, Pos(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'00(Pos(Succ(x0)), Pos(Zero)),new_gcd0Gcd'10(False, Pos(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'00(Pos(Succ(x0)), Pos(Zero))) (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))),new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1)))) ---------------------------------------- (780) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'00(Pos(Succ(x0)), Pos(Zero)) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (781) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (782) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (783) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (784) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (785) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (786) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (787) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (788) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (789) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)))) (new_gcd0Gcd'00(Pos(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'10(new_esEs0(Pos(Zero)), Pos(Succ(x0)), Pos(Zero)),new_gcd0Gcd'00(Pos(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'10(new_esEs0(Pos(Zero)), Pos(Succ(x0)), Pos(Zero))) (new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))),new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0))))) (new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Zero))),new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)))) (new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))),new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))))) ---------------------------------------- (790) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'10(new_esEs0(Pos(Zero)), Pos(Succ(x0)), Pos(Zero)) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (791) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 2 less nodes. ---------------------------------------- (792) Complex Obligation (AND) ---------------------------------------- (793) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (794) 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. ---------------------------------------- (795) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (796) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primMinusNatS2(Zero, Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) ---------------------------------------- (797) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (798) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))),new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0))))) ---------------------------------------- (799) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) The TRS R consists of the following rules: new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (800) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_primEqInt(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_primEqInt(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)))) ---------------------------------------- (801) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_primEqInt(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (802) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_primEqInt(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero)))) ---------------------------------------- (803) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (804) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (805) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (806) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (807) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (808) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (809) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (810) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (811) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (812) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero))))) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))))) ---------------------------------------- (813) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) The TRS R consists of the following rules: new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (814) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (815) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (816) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))))) ---------------------------------------- (817) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) The TRS R consists of the following rules: new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (818) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (819) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (820) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (821) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (822) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (823) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (824) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (825) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (826) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))))) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))))) ---------------------------------------- (827) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (828) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (829) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (830) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))))) ---------------------------------------- (831) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (832) QDPSizeChangeProof (EQUIVALENT) We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. Order:Polynomial interpretation [POLO]: POL(False) = 1 POL(Pos(x_1)) = x_1 POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 1 POL(new_primMinusNatS0(x_1)) = 1 + x_1 POL(new_primMinusNatS1) = 1 POL(new_primModNatS1(x_1, x_2)) = x_1 From the DPs we obtained the following set of size-change graphs: *new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) (allowed arguments on rhs = {2, 3}) The graph contains the following edges 2 >= 2, 1 >= 3 *new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) (allowed arguments on rhs = {2, 3}) The graph contains the following edges 2 >= 2, 1 >= 3 *new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 2 >= 1, 3 >= 2 *new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 2 >= 1, 3 > 2 We oriented the following set of usable rules [AAECC05,FROCOS05]. new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) ---------------------------------------- (833) YES ---------------------------------------- (834) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (835) 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. ---------------------------------------- (836) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (837) 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) ---------------------------------------- (838) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (839) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))))) (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (840) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (841) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) ---------------------------------------- (842) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (843) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (844) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (845) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_primEqInt(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_primEqInt(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (846) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(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(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (847) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) ---------------------------------------- (848) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_primEqInt(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(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(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (849) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (850) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_primEqInt(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (851) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(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'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (852) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (853) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) ---------------------------------------- (854) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(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(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (855) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (856) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (857) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (858) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (859) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (860) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (861) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (862) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (863) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (864) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (865) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (866) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (867) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_primEqInt(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_primEqInt(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (868) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(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(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (869) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (870) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_primEqInt(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(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(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (871) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (872) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_primEqInt(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (873) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_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'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (874) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (875) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (876) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (877) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (878) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (879) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (880) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (881) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (882) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (883) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (884) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (885) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (886) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (887) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero)))) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero)))) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (888) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (889) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. ---------------------------------------- (890) Complex Obligation (AND) ---------------------------------------- (891) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (892) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (893) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (894) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) ---------------------------------------- (895) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (896) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) ---------------------------------------- (897) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (898) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))))) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (899) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (900) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_primEqInt(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_primEqInt(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (901) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_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(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (902) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(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'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (903) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (904) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero)))) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Zero)))) ---------------------------------------- (905) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (906) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. ---------------------------------------- (907) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (908) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(False) = 0 POL(Pos(x_1)) = 2*x_1 POL(Succ(x_1)) = 1 + x_1 POL(True) = 3 POL(Zero) = 1 POL(new_esEs0(x_1)) = 0 POL(new_gcd0Gcd'00(x_1, x_2)) = 2 + x_1 + x_2 POL(new_gcd0Gcd'10(x_1, x_2, x_3)) = 2 + x_2 + x_3 POL(new_primEqInt(x_1)) = 3 POL(new_primMinusNatS2(x_1, x_2)) = x_1 POL(new_primModNatS01(x_1, x_2)) = 2 + x_1 POL(new_primModNatS02(x_1, x_2, x_3, x_4)) = 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_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) ---------------------------------------- (909) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (910) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 3 less nodes. ---------------------------------------- (911) TRUE ---------------------------------------- (912) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (913) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))))) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero))))) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (914) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (915) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. ---------------------------------------- (916) Complex Obligation (AND) ---------------------------------------- (917) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (918) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) ---------------------------------------- (919) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (920) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) ---------------------------------------- (921) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (922) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) ---------------------------------------- (923) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (924) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) ---------------------------------------- (925) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (926) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(False) = 0 POL(Pos(x_1)) = 2 + x_1 POL(Succ(x_1)) = 1 + x_1 POL(True) = 3 POL(Zero) = 0 POL(new_esEs0(x_1)) = 0 POL(new_gcd0Gcd'00(x_1, x_2)) = x_1 + x_2 POL(new_gcd0Gcd'10(x_1, x_2, x_3)) = x_2 + x_3 POL(new_primEqInt(x_1)) = 3 POL(new_primMinusNatS2(x_1, x_2)) = x_1 POL(new_primModNatS01(x_1, x_2)) = 1 + x_1 POL(new_primModNatS02(x_1, x_2, x_3, x_4)) = 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_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) ---------------------------------------- (927) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (928) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 3 less nodes. ---------------------------------------- (929) TRUE ---------------------------------------- (930) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (931) QReductionProof (EQUIVALENT) We deleted the following terms from Q as they contain symbols which do neither occur in P nor in R.[THIEMANN]. new_esEs0(Neg(Succ(x0))) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Succ(x0))) ---------------------------------------- (932) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) We have to consider all (P,Q,R)-chains. ---------------------------------------- (933) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: *We consider the chain new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2))), new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x4))))), Pos(Succ(Succ(Succ(Succ(x5)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x4)), Succ(Succ(x5)), x4, x5))), Pos(Succ(Succ(Succ(Succ(x5))))), Pos(Succ(Succ(Succ(Succ(x4)))))) which results in the following constraint: (1) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))=new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x4))))), Pos(Succ(Succ(Succ(Succ(x5)))))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(Succ(x3))=x12 & Succ(Succ(x2))=x13 & new_primModNatS02(x12, x13, x3, x2)=Succ(Succ(Succ(Succ(x5)))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x12, x13, x3, x2)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: (3) (new_primModNatS01(x16, x15)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x14)))=x16 & Succ(Succ(Zero))=x15 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x14)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x14))), Succ(Succ(Zero)), Succ(x14), Zero)))) (4) (new_primModNatS02(x20, x19, x18, x17)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x18)))=x20 & Succ(Succ(Succ(x17)))=x19 & (\/x21:new_primModNatS02(x20, x19, x18, x17)=Succ(Succ(Succ(Succ(x21)))) & Succ(Succ(x18))=x20 & Succ(Succ(x17))=x19 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x17))))), Pos(Succ(Succ(Succ(Succ(x18))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x17))))), Pos(new_primModNatS02(Succ(Succ(x18)), Succ(Succ(x17)), x18, x17)))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(x17)))))), Pos(Succ(Succ(Succ(Succ(Succ(x18)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x17)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x18))), Succ(Succ(Succ(x17))), Succ(x18), Succ(x17))))) (5) (new_primModNatS01(x23, x22)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x23 & Succ(Succ(Zero))=x22 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) (6) (Succ(Succ(x26))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x26 & Succ(Succ(Succ(x24)))=x25 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x16, x15)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: (7) (new_primModNatS1(new_primMinusNatS2(Succ(x28), Succ(x27)), Succ(x27))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x14)))=x28 & Succ(Succ(Zero))=x27 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x14)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x14))), Succ(Succ(Zero)), Succ(x14), Zero)))) We simplified constraint (4) using rule (IV) which results in the following new constraint: (8) (new_primModNatS02(x20, x19, x18, x17)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x18)))=x20 & Succ(Succ(Succ(x17)))=x19 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(x17)))))), Pos(Succ(Succ(Succ(Succ(Succ(x18)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x17)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x18))), Succ(Succ(Succ(x17))), Succ(x18), Succ(x17))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x23, x22)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x47), Succ(x46)), Succ(x46))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x47 & Succ(Succ(Zero))=x46 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: (11) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x14)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x14))), Succ(Succ(Zero)), Succ(x14), Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x20, x19, x18, x17)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: (12) (new_primModNatS01(x35, x34)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x33))))=x35 & Succ(Succ(Succ(Zero)))=x34 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x33)))), Succ(Succ(Succ(Zero))), Succ(Succ(x33)), Succ(Zero))))) (13) (new_primModNatS02(x39, x38, x37, x36)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x37))))=x39 & Succ(Succ(Succ(Succ(x36))))=x38 & (\/x40:new_primModNatS02(x39, x38, x37, x36)=Succ(Succ(Succ(Succ(x40)))) & Succ(Succ(Succ(x37)))=x39 & Succ(Succ(Succ(x36)))=x38 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(x36)))))), Pos(Succ(Succ(Succ(Succ(Succ(x37)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x36)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x37))), Succ(Succ(Succ(x36))), Succ(x37), Succ(x36))))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x37))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x37)))), Succ(Succ(Succ(Succ(x36)))), Succ(Succ(x37)), Succ(Succ(x36)))))) (14) (new_primModNatS01(x42, x41)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x42 & Succ(Succ(Succ(Zero)))=x41 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) (15) (Succ(Succ(x45))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x45 & Succ(Succ(Succ(Succ(x43))))=x44 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: (16) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x33)))), Succ(Succ(Succ(Zero))), Succ(Succ(x33)), Succ(Zero))))) We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: (17) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x37))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x37)))), Succ(Succ(Succ(Succ(x36)))), Succ(Succ(x37)), Succ(Succ(x36)))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (20) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) For Pair new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6)))))), new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Succ(x9)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(new_primModNatS02(Succ(Succ(x9)), Succ(Succ(x8)), x9, x8))) which results in the following constraint: (1) (new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))=new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Succ(x9)))))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Pos(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))=x52 & new_esEs0(x52)=False ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x52)=False which results in the following new constraints: (3) (new_primEqInt(Pos(Zero))=False & Pos(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))=Pos(Zero) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) (4) (new_primEqInt(Pos(Succ(x53)))=False & Pos(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))=Pos(Succ(x53)) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (5) (Pos(Zero)=x54 & new_primEqInt(x54)=False & Succ(Succ(x6))=x55 & Succ(Succ(x7))=x56 & new_primModNatS02(x55, x56, x6, x7)=Zero ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: (6) (Pos(Succ(x53))=x58 & new_primEqInt(x58)=False & Succ(Succ(x6))=x59 & Succ(Succ(x7))=x60 & new_primModNatS02(x59, x60, x6, x7)=Succ(x53) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (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(Zero)=Pos(Succ(x57)) & Succ(Succ(x6))=x55 & Succ(Succ(x7))=x56 & new_primModNatS02(x55, x56, x6, x7)=Zero ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) We solved constraint (7) using rules (I), (II).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x58)=False which results in the following new constraint: (8) (False=False & Pos(Succ(x53))=Pos(Succ(x61)) & Succ(Succ(x6))=x59 & Succ(Succ(x7))=x60 & new_primModNatS02(x59, x60, x6, x7)=Succ(x53) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (8) using rules (I), (II), (IV) which results in the following new constraint: (9) (Succ(Succ(x6))=x59 & Succ(Succ(x7))=x60 & new_primModNatS02(x59, x60, x6, x7)=Succ(x53) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x59, x60, x6, x7)=Succ(x53) which results in the following new constraints: (10) (new_primModNatS01(x64, x63)=Succ(x53) & Succ(Succ(Succ(x62)))=x64 & Succ(Succ(Zero))=x63 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x62)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(x62))), Succ(Succ(Zero)), Succ(x62), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x62)))))))) (11) (new_primModNatS02(x68, x67, x66, x65)=Succ(x53) & Succ(Succ(Succ(x66)))=x68 & Succ(Succ(Succ(x65)))=x67 & (\/x69:new_primModNatS02(x68, x67, x66, x65)=Succ(x69) & Succ(Succ(x66))=x68 & Succ(Succ(x65))=x67 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x66))))), Pos(Succ(Succ(Succ(Succ(x65))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x66)), Succ(Succ(x65)), x66, x65))), Pos(Succ(Succ(Succ(Succ(x65))))), Pos(Succ(Succ(Succ(Succ(x66))))))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x66)))))), Pos(Succ(Succ(Succ(Succ(Succ(x65)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(x66))), Succ(Succ(Succ(x65))), Succ(x66), Succ(x65)))), Pos(Succ(Succ(Succ(Succ(Succ(x65)))))), Pos(Succ(Succ(Succ(Succ(Succ(x66)))))))) (12) (new_primModNatS01(x71, x70)=Succ(x53) & Succ(Succ(Zero))=x71 & Succ(Succ(Zero))=x70 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) (13) (Succ(Succ(x74))=Succ(x53) & Succ(Succ(Zero))=x74 & Succ(Succ(Succ(x72)))=x73 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x72)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x72))), Zero, Succ(x72)))), Pos(Succ(Succ(Succ(Succ(Succ(x72)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x64, x63)=Succ(x53) which results in the following new constraint: (14) (new_primModNatS1(new_primMinusNatS2(Succ(x76), Succ(x75)), Succ(x75))=Succ(x53) & Succ(Succ(Succ(x62)))=x76 & Succ(Succ(Zero))=x75 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x62)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(x62))), Succ(Succ(Zero)), Succ(x62), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x62)))))))) We simplified constraint (11) using rule (IV) which results in the following new constraint: (15) (new_primModNatS02(x68, x67, x66, x65)=Succ(x53) & Succ(Succ(Succ(x66)))=x68 & Succ(Succ(Succ(x65)))=x67 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x66)))))), Pos(Succ(Succ(Succ(Succ(Succ(x65)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(x66))), Succ(Succ(Succ(x65))), Succ(x66), Succ(x65)))), Pos(Succ(Succ(Succ(Succ(Succ(x65)))))), Pos(Succ(Succ(Succ(Succ(Succ(x66)))))))) We simplified constraint (12) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x71, x70)=Succ(x53) which results in the following new constraint: (16) (new_primModNatS1(new_primMinusNatS2(Succ(x95), Succ(x94)), Succ(x94))=Succ(x53) & Succ(Succ(Zero))=x95 & Succ(Succ(Zero))=x94 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (13) using rules (I), (II), (IV) which results in the following new constraint: (17) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x72)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x72))), Zero, Succ(x72)))), Pos(Succ(Succ(Succ(Succ(Succ(x72)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (14) using rules (III), (IV), (VII) which results in the following new constraint: (18) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x62)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(x62))), Succ(Succ(Zero)), Succ(x62), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x62)))))))) We simplified constraint (15) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x68, x67, x66, x65)=Succ(x53) which results in the following new constraints: (19) (new_primModNatS01(x83, x82)=Succ(x53) & Succ(Succ(Succ(Succ(x81))))=x83 & Succ(Succ(Succ(Zero)))=x82 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x81))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x81)))), Succ(Succ(Succ(Zero))), Succ(Succ(x81)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x81))))))))) (20) (new_primModNatS02(x87, x86, x85, x84)=Succ(x53) & Succ(Succ(Succ(Succ(x85))))=x87 & Succ(Succ(Succ(Succ(x84))))=x86 & (\/x88:new_primModNatS02(x87, x86, x85, x84)=Succ(x88) & Succ(Succ(Succ(x85)))=x87 & Succ(Succ(Succ(x84)))=x86 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x85)))))), Pos(Succ(Succ(Succ(Succ(Succ(x84)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(x85))), Succ(Succ(Succ(x84))), Succ(x85), Succ(x84)))), Pos(Succ(Succ(Succ(Succ(Succ(x84)))))), Pos(Succ(Succ(Succ(Succ(Succ(x85)))))))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x84))))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x85)))), Succ(Succ(Succ(Succ(x84)))), Succ(Succ(x85)), Succ(Succ(x84))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x84))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))))) (21) (new_primModNatS01(x90, x89)=Succ(x53) & Succ(Succ(Succ(Zero)))=x90 & Succ(Succ(Succ(Zero)))=x89 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) (22) (Succ(Succ(x93))=Succ(x53) & Succ(Succ(Succ(Zero)))=x93 & Succ(Succ(Succ(Succ(x91))))=x92 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x91))))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x91)))), Succ(Zero), Succ(Succ(x91))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x91))))))), 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'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x81))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x81)))), Succ(Succ(Succ(Zero))), Succ(Succ(x81)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x81))))))))) We simplified constraint (20) using rules (III), (IV) which results in the following new constraint: (24) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x84))))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x85)))), Succ(Succ(Succ(Succ(x84)))), Succ(Succ(x85)), Succ(Succ(x84))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x84))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))))) We simplified constraint (21) using rules (III), (IV) which results in the following new constraint: (25) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (22) using rules (I), (II), (IV) which results in the following new constraint: (26) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x91))))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x91)))), Succ(Zero), Succ(Succ(x91))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x91))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (16) using rules (III), (IV), (VII) which results in the following new constraint: (27) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x14)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x14))), Succ(Succ(Zero)), Succ(x14), Zero)))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x33)))), Succ(Succ(Succ(Zero))), Succ(Succ(x33)), Succ(Zero))))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x37))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x37)))), Succ(Succ(Succ(Succ(x36)))), Succ(Succ(x37)), Succ(Succ(x36)))))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) *new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x91))))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x91)))), Succ(Zero), Succ(Succ(x91))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x91))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x72)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x72))), Zero, Succ(x72)))), Pos(Succ(Succ(Succ(Succ(Succ(x72)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x62)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(x62))), Succ(Succ(Zero)), Succ(x62), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x62)))))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x81))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x81)))), Succ(Succ(Succ(Zero))), Succ(Succ(x81)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x81))))))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x84))))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x85)))), Succ(Succ(Succ(Succ(x84)))), Succ(Succ(x85)), Succ(Succ(x84))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x84))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (934) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (935) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'00(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) The TRS R consists of the following rules: new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(h) -> error([]) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Zero)) new_esEs0(Neg(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primEqInt(Neg(Zero)) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (936) 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. ---------------------------------------- (937) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'00(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Zero)) new_esEs0(Neg(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primEqInt(Neg(Zero)) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (938) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primRemInt(Neg(x0), Neg(Zero)) ---------------------------------------- (939) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'00(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (940) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'00(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero)))) (new_gcd0Gcd'10(False, Neg(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'00(Neg(Succ(x0)), Pos(Zero)),new_gcd0Gcd'10(False, Neg(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'00(Neg(Succ(x0)), Pos(Zero))) (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))),new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1)))) ---------------------------------------- (941) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'00(Neg(Succ(x0)), Pos(Zero)) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (942) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (943) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (944) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (945) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (946) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (947) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (948) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (949) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (950) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)))) (new_gcd0Gcd'00(Pos(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'10(new_esEs0(Pos(Zero)), Neg(Succ(x0)), Pos(Zero)),new_gcd0Gcd'00(Pos(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'10(new_esEs0(Pos(Zero)), Neg(Succ(x0)), Pos(Zero))) (new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))),new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0))))) (new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Zero))),new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Zero)))) (new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))),new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))))) ---------------------------------------- (951) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'10(new_esEs0(Pos(Zero)), Neg(Succ(x0)), Pos(Zero)) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (952) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. ---------------------------------------- (953) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (954) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_primEqInt(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_primEqInt(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)))) ---------------------------------------- (955) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_primEqInt(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (956) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))),new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0))))) ---------------------------------------- (957) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_primEqInt(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (958) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_primEqInt(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero)))) ---------------------------------------- (959) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (960) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)))) (new_gcd0Gcd'00(Neg(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Pos(Succ(x0)), Neg(Zero)),new_gcd0Gcd'00(Neg(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Pos(Succ(x0)), Neg(Zero))) (new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))),new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0))))) (new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))),new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero)))) (new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))),new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))))) ---------------------------------------- (961) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Pos(Succ(x0)), Neg(Zero)) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (962) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (963) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (964) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))),new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0))))) ---------------------------------------- (965) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (966) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_primEqInt(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_primEqInt(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)))) ---------------------------------------- (967) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_primEqInt(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (968) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))),new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero)))) ---------------------------------------- (969) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_primEqInt(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (970) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_primEqInt(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero)))) ---------------------------------------- (971) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (972) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))),new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)))) ---------------------------------------- (973) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (974) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (975) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (976) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero)))) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero)))) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (977) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (978) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (979) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (980) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (981) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (982) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) ---------------------------------------- (983) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (984) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))) ---------------------------------------- (985) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (986) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) ---------------------------------------- (987) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (988) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Zero, Succ(Zero)))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Zero, Succ(Zero))))) ---------------------------------------- (989) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Zero, Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (990) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (991) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (992) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero)))) (new_gcd0Gcd'10(False, Pos(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'00(Pos(Succ(x0)), Neg(Zero)),new_gcd0Gcd'10(False, Pos(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'00(Pos(Succ(x0)), Neg(Zero))) (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))),new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1)))) ---------------------------------------- (993) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'00(Pos(Succ(x0)), Neg(Zero)) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (994) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 2 less nodes. ---------------------------------------- (995) Complex Obligation (AND) ---------------------------------------- (996) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (997) 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. ---------------------------------------- (998) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (999) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primMinusNatS2(Zero, Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) ---------------------------------------- (1000) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1001) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (1002) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1003) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (1004) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1005) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1006) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1007) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (1008) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1009) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero))))) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))))) ---------------------------------------- (1010) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1011) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1012) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1013) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))))) ---------------------------------------- (1014) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1015) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (1016) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1017) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (1018) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1019) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1020) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1021) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (1022) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1023) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))))) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))))) ---------------------------------------- (1024) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1025) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1026) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1027) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))))) ---------------------------------------- (1028) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1029) QDPSizeChangeProof (EQUIVALENT) We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. Order:Polynomial interpretation [POLO]: POL(False) = 1 POL(Neg(x_1)) = 1 POL(Pos(x_1)) = x_1 POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 1 POL(new_primMinusNatS0(x_1)) = 1 + x_1 POL(new_primMinusNatS1) = 1 POL(new_primModNatS1(x_1, x_2)) = x_1 From the DPs we obtained the following set of size-change graphs: *new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) (allowed arguments on rhs = {2, 3}) The graph contains the following edges 2 >= 2, 1 >= 3 *new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) (allowed arguments on rhs = {2, 3}) The graph contains the following edges 2 >= 2, 1 >= 3 *new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 2 >= 1, 3 >= 2 *new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 2 >= 1, 3 > 2 We oriented the following set of usable rules [AAECC05,FROCOS05]. new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) ---------------------------------------- (1030) YES ---------------------------------------- (1031) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1032) 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. ---------------------------------------- (1033) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1034) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primMinusNatS2(Zero, Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) ---------------------------------------- (1035) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1036) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (1037) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1038) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))))) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))))) ---------------------------------------- (1039) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1040) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))))) ---------------------------------------- (1041) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1042) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))))) ---------------------------------------- (1043) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1044) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))))) ---------------------------------------- (1045) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1046) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1047) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1048) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))))) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))))) ---------------------------------------- (1049) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1050) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (1051) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1052) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))))) ---------------------------------------- (1053) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1054) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (1055) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1056) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1057) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1058) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (1059) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1060) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1061) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1062) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (1063) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1064) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (1065) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1066) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1067) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1068) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (1069) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1070) QDPSizeChangeProof (EQUIVALENT) We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. Order:Polynomial interpretation [POLO]: POL(False) = 1 POL(Neg(x_1)) = x_1 POL(Pos(x_1)) = 1 POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 1 POL(new_primMinusNatS0(x_1)) = 1 + x_1 POL(new_primMinusNatS1) = 1 POL(new_primModNatS1(x_1, x_2)) = x_1 From the DPs we obtained the following set of size-change graphs: *new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) (allowed arguments on rhs = {2, 3}) The graph contains the following edges 2 >= 2, 1 >= 3 *new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) (allowed arguments on rhs = {2, 3}) The graph contains the following edges 2 >= 2, 1 >= 3 *new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 2 >= 1, 3 > 2 *new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 2 >= 1, 3 >= 2 We oriented the following set of usable rules [AAECC05,FROCOS05]. new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) ---------------------------------------- (1071) YES ---------------------------------------- (1072) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1073) 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. ---------------------------------------- (1074) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1075) 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) ---------------------------------------- (1076) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1077) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))))) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero))))) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (1078) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1079) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) ---------------------------------------- (1080) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1081) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))))) ---------------------------------------- (1082) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1083) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) ---------------------------------------- (1084) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1085) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))))) ---------------------------------------- (1086) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1087) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) ---------------------------------------- (1088) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1089) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))))) ---------------------------------------- (1090) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1091) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) ---------------------------------------- (1092) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1093) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Zero, Succ(Succ(Zero)))))) ---------------------------------------- (1094) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1095) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1096) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1097) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero)))) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero)))) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (1098) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1099) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (1100) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1101) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (1102) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1103) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) ---------------------------------------- (1104) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1105) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))) ---------------------------------------- (1106) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1107) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) ---------------------------------------- (1108) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1109) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Zero, Succ(Zero)))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Zero, Succ(Zero))))) ---------------------------------------- (1110) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Zero, Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1111) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1112) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1113) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))))) (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (1114) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1115) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1116) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1117) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) ---------------------------------------- (1118) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1119) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_primEqInt(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_primEqInt(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (1120) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(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(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1121) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) ---------------------------------------- (1122) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_primEqInt(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1123) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(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'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (1124) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1125) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) ---------------------------------------- (1126) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1127) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Zero)))) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero)))) ---------------------------------------- (1128) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1129) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1130) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1131) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))))) ---------------------------------------- (1132) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1133) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1134) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1135) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))))) (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (1136) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1137) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 1 less node. ---------------------------------------- (1138) Complex Obligation (AND) ---------------------------------------- (1139) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1140) 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. ---------------------------------------- (1141) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1142) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) ---------------------------------------- (1143) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1144) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) ---------------------------------------- (1145) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1146) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) ---------------------------------------- (1147) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1148) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero)))) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero)))) ---------------------------------------- (1149) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1150) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1151) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1152) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))))) ---------------------------------------- (1153) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1154) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1155) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1156) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) the following chains were created: *We consider the chain new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x1, Zero, x1, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1)))))), new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x2, Zero, x2, Zero))) which results in the following constraint: (1) (new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x1, Zero, x1, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1))))))=new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x2)))))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x1, Zero, x1, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Pos(new_primModNatS02(x1, Zero, x1, Zero))=x20 & new_esEs0(x20)=False ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x1, Zero, x1, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x20)=False which results in the following new constraints: (3) (new_primEqInt(Pos(Zero))=False & Pos(new_primModNatS02(x1, Zero, x1, Zero))=Pos(Zero) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x1, Zero, x1, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1))))))) (4) (new_primEqInt(Pos(Succ(x21)))=False & Pos(new_primModNatS02(x1, Zero, x1, Zero))=Pos(Succ(x21)) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x1, Zero, x1, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (5) (Pos(Zero)=x22 & new_primEqInt(x22)=False & Zero=x23 & x1=x24 & Zero=x25 & new_primModNatS02(x1, x23, x24, x25)=Zero ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x1, Zero, x1, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1))))))) We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: (6) (Pos(Succ(x21))=x27 & new_primEqInt(x27)=False & Zero=x28 & x1=x29 & Zero=x30 & new_primModNatS02(x1, x28, x29, x30)=Succ(x21) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x1, Zero, x1, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1))))))) We simplified constraint (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(Zero)=Pos(Succ(x26)) & Zero=x23 & x1=x24 & Zero=x25 & new_primModNatS02(x1, x23, x24, x25)=Zero ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x1, Zero, x1, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1))))))) We solved constraint (7) using rules (I), (II).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x27)=False which results in the following new constraint: (8) (False=False & Pos(Succ(x21))=Pos(Succ(x31)) & Zero=x28 & x1=x29 & Zero=x30 & new_primModNatS02(x1, x28, x29, x30)=Succ(x21) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x1, Zero, x1, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1))))))) We simplified constraint (8) using rules (I), (II), (IV) which results in the following new constraint: (9) (Zero=x28 & x1=x29 & Zero=x30 & new_primModNatS02(x1, x28, x29, x30)=Succ(x21) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x1, Zero, x1, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1))))))) We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1, x28, x29, x30)=Succ(x21) which results in the following new constraints: (10) (new_primModNatS01(x34, x33)=Succ(x21) & Zero=x33 & x34=Succ(x32) & Zero=Zero ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x34))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x34, Zero, x34, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x34))))))) (11) (new_primModNatS02(x38, x37, x36, x35)=Succ(x21) & Zero=x37 & x38=Succ(x36) & Zero=Succ(x35) & (\/x39:new_primModNatS02(x38, x37, x36, x35)=Succ(x39) & Zero=x37 & x38=x36 & Zero=x35 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x38))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x38, Zero, x38, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x38))))))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x38))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x38, Zero, x38, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x38))))))) (12) (new_primModNatS01(x41, x40)=Succ(x21) & Zero=x40 & x41=Zero & Zero=Zero ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x41))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x41, Zero, x41, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x41))))))) (13) (Succ(Succ(x44))=Succ(x21) & Zero=x43 & x44=Zero & Zero=Succ(x42) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x44))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x44, Zero, x44, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x44))))))) We simplified constraint (10) using rules (I), (II), (III), (VII) which results in the following new constraint: (14) (Succ(x32)=x45 & new_primModNatS01(x45, x33)=Succ(x21) & Zero=x33 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x32)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x32), Zero, Succ(x32), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x32)))))))) We solved constraint (11) using rules (I), (II).We simplified constraint (12) using rules (I), (II), (III), (VII) which results in the following new constraint: (15) (Zero=x52 & new_primModNatS01(x52, x40)=Succ(x21) & Zero=x40 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We solved constraint (13) using rules (I), (II).We simplified constraint (14) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x45, x33)=Succ(x21) which results in the following new constraint: (16) (new_primModNatS1(new_primMinusNatS2(Succ(x47), Succ(x46)), Succ(x46))=Succ(x21) & Succ(x32)=x47 & Zero=x46 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x32)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x32), Zero, Succ(x32), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x32)))))))) We simplified constraint (16) using rules (III), (IV), (VII) which results in the following new constraint: (17) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x32)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x32), Zero, Succ(x32), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x32)))))))) We simplified constraint (15) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x52, x40)=Succ(x21) which results in the following new constraint: (18) (new_primModNatS1(new_primMinusNatS2(Succ(x54), Succ(x53)), Succ(x53))=Succ(x21) & Zero=x54 & Zero=x53 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (18) using rules (III), (IV), (VII) which results in the following new constraint: (19) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) For Pair new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) the following chains were created: *We consider the chain new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x7)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x7, Zero, x7, Zero))), new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x8))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x8)))), Neg(Succ(Succ(Zero)))) which results in the following constraint: (1) (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x7, Zero, x7, Zero)))=new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x8))))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x7, Zero, x7, Zero)))) We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: (2) (Zero=x59 & x7=x60 & Zero=x61 & new_primModNatS02(x7, x59, x60, x61)=Succ(Succ(Succ(x8))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x7, Zero, x7, Zero)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x7, x59, x60, x61)=Succ(Succ(Succ(x8))) which results in the following new constraints: (3) (new_primModNatS01(x64, x63)=Succ(Succ(Succ(x8))) & Zero=x63 & x64=Succ(x62) & Zero=Zero ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x64))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x64, Zero, x64, Zero)))) (4) (new_primModNatS02(x68, x67, x66, x65)=Succ(Succ(Succ(x8))) & Zero=x67 & x68=Succ(x66) & Zero=Succ(x65) & (\/x69:new_primModNatS02(x68, x67, x66, x65)=Succ(Succ(Succ(x69))) & Zero=x67 & x68=x66 & Zero=x65 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x68))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x68, Zero, x68, Zero)))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x68))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x68, Zero, x68, Zero)))) (5) (new_primModNatS01(x71, x70)=Succ(Succ(Succ(x8))) & Zero=x70 & x71=Zero & Zero=Zero ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x71))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x71, Zero, x71, Zero)))) (6) (Succ(Succ(x74))=Succ(Succ(Succ(x8))) & Zero=x73 & x74=Zero & Zero=Succ(x72) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x74))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x74, Zero, x74, Zero)))) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (7) (Succ(x62)=x75 & new_primModNatS01(x75, x63)=Succ(Succ(Succ(x8))) & Zero=x63 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x62)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x62), Zero, Succ(x62), Zero)))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (III), (VII) which results in the following new constraint: (8) (Zero=x82 & new_primModNatS01(x82, x70)=Succ(Succ(Succ(x8))) & Zero=x70 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) We solved constraint (6) using rules (I), (II).We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x75, x63)=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))) & Succ(x62)=x77 & Zero=x76 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x62)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x62), Zero, Succ(x62), Zero)))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (10) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x62)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x62), Zero, Succ(x62), Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(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))) & Zero=x84 & Zero=x83 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: (12) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) For Pair new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) the following chains were created: *We consider the chain new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x13))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x13)))), Neg(Succ(Succ(Zero)))), new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x14)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x14)))), Neg(Succ(Succ(Zero)))) which results in the following constraint: (1) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x13)))), Neg(Succ(Succ(Zero))))=new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x14)))), Neg(Succ(Succ(Zero)))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x13)))))_>=_new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x13)))), Neg(Succ(Succ(Zero))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x13)))))_>=_new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x13)))), Neg(Succ(Succ(Zero))))) For Pair new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) the following chains were created: *We consider the chain new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x15)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x15)))), Neg(Succ(Succ(Zero)))), new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x16, Zero, x16, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x16)))))) which results in the following constraint: (1) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x15)))), Neg(Succ(Succ(Zero))))=new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Zero)))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x15)))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x15)))), Neg(Succ(Succ(Zero))))) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Zero))))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x32)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x32), Zero, Succ(x32), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x32)))))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) *new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x62)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x62), Zero, Succ(x62), Zero)))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) *new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x13)))))_>=_new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x13)))), Neg(Succ(Succ(Zero))))) *new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Zero))))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (1157) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1158) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1159) 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. ---------------------------------------- (1160) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1161) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_primEqInt(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_primEqInt(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (1162) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(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(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1163) 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. ---------------------------------------- (1164) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_primEqInt(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primEqInt(Pos(Succ(vyv38000))) -> False new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1165) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(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'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (1166) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primEqInt(Pos(Succ(vyv38000))) -> False new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1167) 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. ---------------------------------------- (1168) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1169) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) the following chains were created: *We consider the chain new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x3, Zero, x3, Zero))), new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x4))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x4)))), Pos(Succ(Succ(Zero)))) which results in the following constraint: (1) (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x3, Zero, x3, Zero)))=new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x4))))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x3, Zero, x3, Zero)))) We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: (2) (Zero=x20 & x3=x21 & Zero=x22 & new_primModNatS02(x3, x20, x21, x22)=Succ(Succ(Succ(x4))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x3, Zero, x3, Zero)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x3, x20, x21, x22)=Succ(Succ(Succ(x4))) which results in the following new constraints: (3) (new_primModNatS01(x25, x24)=Succ(Succ(Succ(x4))) & Zero=x24 & x25=Succ(x23) & Zero=Zero ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x25))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x25, Zero, x25, Zero)))) (4) (new_primModNatS02(x29, x28, x27, x26)=Succ(Succ(Succ(x4))) & Zero=x28 & x29=Succ(x27) & Zero=Succ(x26) & (\/x30:new_primModNatS02(x29, x28, x27, x26)=Succ(Succ(Succ(x30))) & Zero=x28 & x29=x27 & Zero=x26 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x29))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x29, Zero, x29, Zero)))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x29))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x29, Zero, x29, Zero)))) (5) (new_primModNatS01(x32, x31)=Succ(Succ(Succ(x4))) & Zero=x31 & x32=Zero & Zero=Zero ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x32))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x32, Zero, x32, Zero)))) (6) (Succ(Succ(x35))=Succ(Succ(Succ(x4))) & Zero=x34 & x35=Zero & Zero=Succ(x33) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x35))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x35, Zero, x35, Zero)))) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (7) (Succ(x23)=x36 & new_primModNatS01(x36, x24)=Succ(Succ(Succ(x4))) & Zero=x24 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x23)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x23), Zero, Succ(x23), Zero)))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (III), (VII) which results in the following new constraint: (8) (Zero=x43 & new_primModNatS01(x43, x31)=Succ(Succ(Succ(x4))) & Zero=x31 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) We solved constraint (6) using rules (I), (II).We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x36, x24)=Succ(Succ(Succ(x4))) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x38), Succ(x37)), Succ(x37))=Succ(Succ(Succ(x4))) & Succ(x23)=x38 & Zero=x37 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x23)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x23), Zero, Succ(x23), Zero)))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (10) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x23)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x23), Zero, Succ(x23), Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x43, x31)=Succ(Succ(Succ(x4))) which results in the following new constraint: (11) (new_primModNatS1(new_primMinusNatS2(Succ(x45), Succ(x44)), Succ(x44))=Succ(Succ(Succ(x4))) & Zero=x45 & Zero=x44 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: (12) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) For Pair new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) the following chains were created: *We consider the chain new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x7)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x7)))), Pos(Succ(Succ(Zero)))), new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x8, Zero, x8, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x8)))))) which results in the following constraint: (1) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x7)))), Pos(Succ(Succ(Zero))))=new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Zero)))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x7)))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x7)))), Pos(Succ(Succ(Zero))))) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Zero))))) For Pair new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) the following chains were created: *We consider the chain new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x10, Zero, x10, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10)))))), new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x11)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x11, Zero, x11, Zero))) which results in the following constraint: (1) (new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x10, Zero, x10, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10))))))=new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x11)))))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x10, Zero, x10, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Neg(new_primModNatS02(x10, Zero, x10, Zero))=x50 & new_esEs0(x50)=False ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x10, Zero, x10, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x50)=False which results in the following new constraints: (3) (new_primEqInt(Neg(Succ(x51)))=False & Neg(new_primModNatS02(x10, Zero, x10, Zero))=Neg(Succ(x51)) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x10, Zero, x10, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10))))))) (4) (new_primEqInt(Neg(Zero))=False & Neg(new_primModNatS02(x10, Zero, x10, Zero))=Neg(Zero) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x10, Zero, x10, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (5) (Neg(Succ(x51))=x52 & new_primEqInt(x52)=False & Zero=x53 & x10=x54 & Zero=x55 & new_primModNatS02(x10, x53, x54, x55)=Succ(x51) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x10, Zero, x10, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10))))))) We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: (6) (Neg(Zero)=x84 & new_primEqInt(x84)=False & Zero=x85 & x10=x86 & Zero=x87 & new_primModNatS02(x10, x85, x86, x87)=Zero ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x10, Zero, x10, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10))))))) We simplified constraint (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 & Neg(Succ(x51))=Neg(Succ(x56)) & Zero=x53 & x10=x54 & Zero=x55 & new_primModNatS02(x10, x53, x54, x55)=Succ(x51) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x10, Zero, x10, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10))))))) We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: (8) (Zero=x53 & x10=x54 & Zero=x55 & new_primModNatS02(x10, x53, x54, x55)=Succ(x51) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x10, Zero, x10, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10))))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x10, x53, x54, x55)=Succ(x51) which results in the following new constraints: (9) (new_primModNatS01(x59, x58)=Succ(x51) & Zero=x58 & x59=Succ(x57) & Zero=Zero ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x59))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x59, Zero, x59, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x59))))))) (10) (new_primModNatS02(x63, x62, x61, x60)=Succ(x51) & Zero=x62 & x63=Succ(x61) & Zero=Succ(x60) & (\/x64:new_primModNatS02(x63, x62, x61, x60)=Succ(x64) & Zero=x62 & x63=x61 & Zero=x60 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x63))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x63, Zero, x63, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x63))))))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x63))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x63, Zero, x63, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x63))))))) (11) (new_primModNatS01(x66, x65)=Succ(x51) & Zero=x65 & x66=Zero & Zero=Zero ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x66))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x66, Zero, x66, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x66))))))) (12) (Succ(Succ(x69))=Succ(x51) & Zero=x68 & x69=Zero & Zero=Succ(x67) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x69))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x69, Zero, x69, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x69))))))) We simplified constraint (9) using rules (I), (II), (III), (VII) which results in the following new constraint: (13) (Succ(x57)=x70 & new_primModNatS01(x70, x58)=Succ(x51) & Zero=x58 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x57)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x57), Zero, Succ(x57), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x57)))))))) 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) (Zero=x77 & new_primModNatS01(x77, x65)=Succ(x51) & Zero=x65 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We solved constraint (12) using rules (I), (II).We simplified constraint (13) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x70, x58)=Succ(x51) which results in the following new constraint: (15) (new_primModNatS1(new_primMinusNatS2(Succ(x72), Succ(x71)), Succ(x71))=Succ(x51) & Succ(x57)=x72 & Zero=x71 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x57)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x57), Zero, Succ(x57), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x57)))))))) We simplified constraint (15) using rules (III), (IV), (VII) which results in the following new constraint: (16) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x57)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x57), Zero, Succ(x57), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x57)))))))) We simplified constraint (14) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x77, x65)=Succ(x51) which results in the following new constraint: (17) (new_primModNatS1(new_primMinusNatS2(Succ(x79), Succ(x78)), Succ(x78))=Succ(x51) & Zero=x79 & Zero=x78 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (17) using rules (III), (IV), (VII) which results in the following new constraint: (18) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (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 & Neg(Zero)=Neg(Succ(x88)) & Zero=x85 & x10=x86 & Zero=x87 & new_primModNatS02(x10, x85, x86, x87)=Zero ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x10, Zero, x10, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10))))))) We solved constraint (19) using rules (I), (II). For Pair new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) the following chains were created: *We consider the chain new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x16))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x16)))), Pos(Succ(Succ(Zero)))), new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x17)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x17)))), Pos(Succ(Succ(Zero)))) which results in the following constraint: (1) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x16)))), Pos(Succ(Succ(Zero))))=new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x17)))), Pos(Succ(Succ(Zero)))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x16)))))_>=_new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x16)))), Pos(Succ(Succ(Zero))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x16)))))_>=_new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x16)))), Pos(Succ(Succ(Zero))))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x23)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x23), Zero, Succ(x23), Zero)))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) *new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Zero))))) *new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x57)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x57), Zero, Succ(x57), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x57)))))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) *new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x16)))))_>=_new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x16)))), Pos(Succ(Succ(Zero))))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (1170) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1171) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1172) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (1173) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1174) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (1175) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1176) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (1177) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1178) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_primEqInt(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_primEqInt(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (1179) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(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(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1180) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (1181) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_primEqInt(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1182) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (1183) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_primEqInt(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1184) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_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'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (1185) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1186) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (1187) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1188) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (1189) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1190) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (1191) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1192) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (1193) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1194) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (1195) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1196) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1197) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1198) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (1199) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1200) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1201) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1202) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (1203) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1204) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_primEqInt(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_primEqInt(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (1205) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(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(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1206) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (1207) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_primEqInt(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1208) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_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'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (1209) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1210) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (1211) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1212) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (1213) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1214) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))))) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero))))) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (1215) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1216) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 1 less node. ---------------------------------------- (1217) Complex Obligation (AND) ---------------------------------------- (1218) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1219) 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. ---------------------------------------- (1220) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1221) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) ---------------------------------------- (1222) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1223) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) ---------------------------------------- (1224) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1225) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) ---------------------------------------- (1226) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1227) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) ---------------------------------------- (1228) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1229) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8)))))) which results in the following constraint: (1) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13)))))), new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x14)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x14), Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))=new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x14)))))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))=x20 & new_esEs0(x20)=False ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x20)=False which results in the following new constraints: (3) (new_primEqInt(Neg(Succ(x21)))=False & Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))=Neg(Succ(x21)) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))) (4) (new_primEqInt(Neg(Zero))=False & Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))=Neg(Zero) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (5) (Neg(Succ(x21))=x22 & new_primEqInt(x22)=False & Succ(x13)=x23 & Succ(Succ(Zero))=x24 & new_primModNatS1(x23, x24)=Succ(x21) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))) We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: (6) (Neg(Zero)=x47 & new_primEqInt(x47)=False & Succ(x13)=x48 & Succ(Succ(Zero))=x49 & new_primModNatS1(x48, x49)=Zero ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))) We simplified constraint (5) using 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(x13)=x23 & Succ(Succ(Zero))=x24 & new_primModNatS1(x23, x24)=Succ(x21) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))) We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: (8) (Succ(x13)=x23 & Succ(Succ(Zero))=x24 & new_primModNatS1(x23, x24)=Succ(x21) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))) We simplified constraint (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) (Succ(Zero)=Succ(x21) & Succ(x13)=Succ(Zero) & Succ(Succ(Zero))=Succ(x26) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))) (10) (new_primModNatS02(x28, x27, x28, x27)=Succ(x21) & Succ(x13)=Succ(Succ(x28)) & Succ(Succ(Zero))=Succ(x27) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))) We simplified constraint (9) using rules (I), (II), (III), (IV) which results in the following new constraint: (11) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (10) using rules (I), (II), (III), (VII) which results in the following new constraint: (12) (x28=x30 & x27=x31 & new_primModNatS02(x28, x27, x30, x31)=Succ(x21) & Succ(Zero)=x27 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x28)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(x28)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x28)))))))) We simplified constraint (12) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x28, x27, x30, x31)=Succ(x21) which results in the following new constraints: (13) (new_primModNatS01(x34, x33)=Succ(x21) & x34=Succ(x32) & x33=Zero & Succ(Zero)=x33 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x34)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(x34)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x34)))))))) (14) (new_primModNatS02(x38, x37, x36, x35)=Succ(x21) & x38=Succ(x36) & x37=Succ(x35) & Succ(Zero)=x37 & (\/x39:new_primModNatS02(x38, x37, x36, x35)=Succ(x39) & x38=x36 & x37=x35 & Succ(Zero)=x37 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x38)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(x38)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x38)))))))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x38)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(x38)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x38)))))))) (15) (new_primModNatS01(x41, x40)=Succ(x21) & x41=Zero & x40=Zero & Succ(Zero)=x40 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x41)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(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'00(Neg(Succ(Succ(Succ(Succ(Succ(x44)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(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'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(Succ(x36))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))))) 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'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 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(x13)=x48 & Succ(Succ(Zero))=x49 & new_primModNatS1(x48, x49)=Zero ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))) We solved constraint (19) using rules (I), (II). For Pair new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x15)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x15), Succ(Succ(Zero))))), new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x16)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x16))))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))=new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x16)))))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: (2) (Succ(x15)=x51 & Succ(Succ(Zero))=x52 & new_primModNatS1(x51, x52)=Succ(Succ(Succ(Succ(x16)))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x51, x52)=Succ(Succ(Succ(Succ(x16)))) which results in the following new constraints: (3) (Succ(Zero)=Succ(Succ(Succ(Succ(x16)))) & Succ(x15)=Succ(Zero) & Succ(Succ(Zero))=Succ(x53) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))) (4) (new_primModNatS02(x55, x54, x55, x54)=Succ(Succ(Succ(Succ(x16)))) & Succ(x15)=Succ(Succ(x55)) & Succ(Succ(Zero))=Succ(x54) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))) We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (III), (VII) which results in the following new constraint: (5) (x55=x57 & x54=x58 & new_primModNatS02(x55, x54, x57, x58)=Succ(Succ(Succ(Succ(x16)))) & Succ(Zero)=x54 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x55)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x55)), Succ(Succ(Zero)))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x55, x54, x57, x58)=Succ(Succ(Succ(Succ(x16)))) which results in the following new constraints: (6) (new_primModNatS01(x61, x60)=Succ(Succ(Succ(Succ(x16)))) & x61=Succ(x59) & x60=Zero & Succ(Zero)=x60 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x61)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x61)), Succ(Succ(Zero)))))) (7) (new_primModNatS02(x65, x64, x63, x62)=Succ(Succ(Succ(Succ(x16)))) & x65=Succ(x63) & x64=Succ(x62) & Succ(Zero)=x64 & (\/x66:new_primModNatS02(x65, x64, x63, x62)=Succ(Succ(Succ(Succ(x66)))) & x65=x63 & x64=x62 & Succ(Zero)=x64 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x65)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x65)), Succ(Succ(Zero)))))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x65)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x65)), Succ(Succ(Zero)))))) (8) (new_primModNatS01(x68, x67)=Succ(Succ(Succ(Succ(x16)))) & x68=Zero & x67=Zero & Succ(Zero)=x67 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x68)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x68)), Succ(Succ(Zero)))))) (9) (Succ(Succ(x71))=Succ(Succ(Succ(Succ(x16)))) & x71=Zero & x70=Succ(x69) & Succ(Zero)=x70 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x71)))))))_>=_new_gcd0Gcd'00(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'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x63))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x63))), Succ(Succ(Zero)))))) We solved constraint (8) using rules (I), (II), (III).We solved constraint (9) using rules (I), (II), (III), (IV). To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))) *new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero)))))) *new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(Succ(x36))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))))) *new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x63))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x63))), 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. ---------------------------------------- (1230) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1231) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1232) 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. ---------------------------------------- (1233) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1234) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8)))))) which results in the following constraint: (1) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13)))))), new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x14)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x14), Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13))))))=new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x14)))))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))=x20 & new_esEs0(x20)=False ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x20)=False which results in the following new constraints: (3) (new_primEqInt(Pos(Zero))=False & Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))=Pos(Zero) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13))))))) (4) (new_primEqInt(Pos(Succ(x21)))=False & Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))=Pos(Succ(x21)) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (5) (Pos(Zero)=x22 & new_primEqInt(x22)=False & Succ(x13)=x23 & Succ(Succ(Zero))=x24 & new_primModNatS1(x23, x24)=Zero ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13))))))) We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: (6) (Pos(Succ(x21))=x26 & new_primEqInt(x26)=False & Succ(x13)=x27 & Succ(Succ(Zero))=x28 & new_primModNatS1(x27, x28)=Succ(x21) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13))))))) We simplified constraint (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(Zero)=Pos(Succ(x25)) & Succ(x13)=x23 & Succ(Succ(Zero))=x24 & new_primModNatS1(x23, x24)=Zero ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13))))))) We solved constraint (7) using rules (I), (II).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x26)=False which results in the following new constraint: (8) (False=False & Pos(Succ(x21))=Pos(Succ(x29)) & Succ(x13)=x27 & Succ(Succ(Zero))=x28 & new_primModNatS1(x27, x28)=Succ(x21) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13))))))) We simplified constraint (8) using rules (I), (II), (IV) which results in the following new constraint: (9) (Succ(x13)=x27 & Succ(Succ(Zero))=x28 & new_primModNatS1(x27, x28)=Succ(x21) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13))))))) We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x27, x28)=Succ(x21) which results in the following new constraints: (10) (Succ(Zero)=Succ(x21) & Succ(x13)=Succ(Zero) & Succ(Succ(Zero))=Succ(x30) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13))))))) (11) (new_primModNatS02(x32, x31, x32, x31)=Succ(x21) & Succ(x13)=Succ(Succ(x32)) & Succ(Succ(Zero))=Succ(x31) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13))))))) We simplified constraint (10) using rules (I), (II), (III), (IV) which results in the following new constraint: (12) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (11) using rules (I), (II), (III), (VII) which results in the following new constraint: (13) (x32=x34 & x31=x35 & new_primModNatS02(x32, x31, x34, x35)=Succ(x21) & Succ(Zero)=x31 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x32)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(x32)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x32)))))))) We simplified constraint (13) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x32, x31, x34, x35)=Succ(x21) which results in the following new constraints: (14) (new_primModNatS01(x38, x37)=Succ(x21) & x38=Succ(x36) & x37=Zero & Succ(Zero)=x37 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x38)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(x38)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x38)))))))) (15) (new_primModNatS02(x42, x41, x40, x39)=Succ(x21) & x42=Succ(x40) & x41=Succ(x39) & Succ(Zero)=x41 & (\/x43:new_primModNatS02(x42, x41, x40, x39)=Succ(x43) & x42=x40 & x41=x39 & Succ(Zero)=x41 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x42)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(x42)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x42)))))))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x42)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(x42)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x42)))))))) (16) (new_primModNatS01(x45, x44)=Succ(x21) & x45=Zero & x44=Zero & Succ(Zero)=x44 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x45)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(x45)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x45)))))))) (17) (Succ(Succ(x48))=Succ(x21) & x48=Zero & x47=Succ(x46) & Succ(Zero)=x47 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x48)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(x48)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x48)))))))) We solved constraint (14) using rules (I), (II), (III).We simplified constraint (15) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (18) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x40))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(Succ(x40))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x40))))))))) We solved constraint (16) using rules (I), (II), (III).We simplified constraint (17) using rules (I), (II), (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) For Pair new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero))))), new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x16)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))=new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x16)))))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: (2) (Succ(x15)=x51 & Succ(Succ(Zero))=x52 & new_primModNatS1(x51, x52)=Succ(Succ(Succ(Succ(x16)))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x51, x52)=Succ(Succ(Succ(Succ(x16)))) which results in the following new constraints: (3) (Succ(Zero)=Succ(Succ(Succ(Succ(x16)))) & Succ(x15)=Succ(Zero) & Succ(Succ(Zero))=Succ(x53) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))) (4) (new_primModNatS02(x55, x54, x55, x54)=Succ(Succ(Succ(Succ(x16)))) & Succ(x15)=Succ(Succ(x55)) & Succ(Succ(Zero))=Succ(x54) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))) We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (III), (VII) which results in the following new constraint: (5) (x55=x57 & x54=x58 & new_primModNatS02(x55, x54, x57, x58)=Succ(Succ(Succ(Succ(x16)))) & Succ(Zero)=x54 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x55)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x55)), Succ(Succ(Zero)))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x55, x54, x57, x58)=Succ(Succ(Succ(Succ(x16)))) which results in the following new constraints: (6) (new_primModNatS01(x61, x60)=Succ(Succ(Succ(Succ(x16)))) & x61=Succ(x59) & x60=Zero & Succ(Zero)=x60 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x61)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x61)), Succ(Succ(Zero)))))) (7) (new_primModNatS02(x65, x64, x63, x62)=Succ(Succ(Succ(Succ(x16)))) & x65=Succ(x63) & x64=Succ(x62) & Succ(Zero)=x64 & (\/x66:new_primModNatS02(x65, x64, x63, x62)=Succ(Succ(Succ(Succ(x66)))) & x65=x63 & x64=x62 & Succ(Zero)=x64 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x65)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x65)), Succ(Succ(Zero)))))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x65)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x65)), Succ(Succ(Zero)))))) (8) (new_primModNatS01(x68, x67)=Succ(Succ(Succ(Succ(x16)))) & x68=Zero & x67=Zero & Succ(Zero)=x67 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x68)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x68)), Succ(Succ(Zero)))))) (9) (Succ(Succ(x71))=Succ(Succ(Succ(Succ(x16)))) & x71=Zero & x70=Succ(x69) & Succ(Zero)=x70 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x71)))))))_>=_new_gcd0Gcd'00(Neg(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'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x63))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x63))), Succ(Succ(Zero)))))) We solved constraint (8) using rules (I), (II), (III).We solved constraint (9) using rules (I), (II), (III), (IV). To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))) *new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))) *new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x40))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(Succ(x40))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x40))))))))) *new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x63))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x63))), 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. ---------------------------------------- (1235) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1236) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1237) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: *We consider the chain new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2))), new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x4))))), Neg(Succ(Succ(Succ(Succ(x5)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x4)), Succ(Succ(x5)), x4, x5))), Neg(Succ(Succ(Succ(Succ(x5))))), Pos(Succ(Succ(Succ(Succ(x4)))))) which results in the following constraint: (1) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))=new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x4))))), Neg(Succ(Succ(Succ(Succ(x5)))))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(Succ(x3))=x40 & Succ(Succ(x2))=x41 & new_primModNatS02(x40, x41, x3, x2)=Succ(Succ(Succ(Succ(x5)))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x40, x41, x3, x2)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: (3) (new_primModNatS01(x44, x43)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x42)))=x44 & Succ(Succ(Zero))=x43 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x42)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x42))), Succ(Succ(Zero)), Succ(x42), Zero)))) (4) (new_primModNatS02(x48, x47, x46, x45)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x46)))=x48 & Succ(Succ(Succ(x45)))=x47 & (\/x49:new_primModNatS02(x48, x47, x46, x45)=Succ(Succ(Succ(Succ(x49)))) & Succ(Succ(x46))=x48 & Succ(Succ(x45))=x47 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x45))))), Neg(Succ(Succ(Succ(Succ(x46))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x45))))), Neg(new_primModNatS02(Succ(Succ(x46)), Succ(Succ(x45)), x46, x45)))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(x45)))))), Neg(Succ(Succ(Succ(Succ(Succ(x46)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x45)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x46))), Succ(Succ(Succ(x45))), Succ(x46), Succ(x45))))) (5) (new_primModNatS01(x51, x50)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x51 & Succ(Succ(Zero))=x50 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) (6) (Succ(Succ(x54))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x54 & Succ(Succ(Succ(x52)))=x53 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(x52)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x52)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x52))), Zero, Succ(x52))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x44, x43)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: (7) (new_primModNatS1(new_primMinusNatS2(Succ(x56), Succ(x55)), Succ(x55))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x42)))=x56 & Succ(Succ(Zero))=x55 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x42)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x42))), Succ(Succ(Zero)), Succ(x42), Zero)))) We simplified constraint (4) using rule (IV) which results in the following new constraint: (8) (new_primModNatS02(x48, x47, x46, x45)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x46)))=x48 & Succ(Succ(Succ(x45)))=x47 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(x45)))))), Neg(Succ(Succ(Succ(Succ(Succ(x46)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x45)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x46))), Succ(Succ(Succ(x45))), Succ(x46), Succ(x45))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x51, x50)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x75), Succ(x74)), Succ(x74))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x75 & Succ(Succ(Zero))=x74 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(x52)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x52)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x52))), Zero, Succ(x52))))) We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: (11) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x42)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x42))), Succ(Succ(Zero)), Succ(x42), Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x48, x47, x46, x45)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: (12) (new_primModNatS01(x63, x62)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x61))))=x63 & Succ(Succ(Succ(Zero)))=x62 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x61))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x61)))), Succ(Succ(Succ(Zero))), Succ(Succ(x61)), Succ(Zero))))) (13) (new_primModNatS02(x67, x66, x65, x64)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x65))))=x67 & Succ(Succ(Succ(Succ(x64))))=x66 & (\/x68:new_primModNatS02(x67, x66, x65, x64)=Succ(Succ(Succ(Succ(x68)))) & Succ(Succ(Succ(x65)))=x67 & Succ(Succ(Succ(x64)))=x66 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(x64)))))), Neg(Succ(Succ(Succ(Succ(Succ(x65)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x64)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x65))), Succ(Succ(Succ(x64))), Succ(x65), Succ(x64))))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x64))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x65))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x64))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x65)))), Succ(Succ(Succ(Succ(x64)))), Succ(Succ(x65)), Succ(Succ(x64)))))) (14) (new_primModNatS01(x70, x69)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x70 & Succ(Succ(Succ(Zero)))=x69 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) (15) (Succ(Succ(x73))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x73 & Succ(Succ(Succ(Succ(x71))))=x72 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x71))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x71))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x71)))), Succ(Zero), Succ(Succ(x71)))))) We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: (16) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x61))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x61)))), Succ(Succ(Succ(Zero))), Succ(Succ(x61)), Succ(Zero))))) We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: (17) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x64))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x65))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x64))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x65)))), Succ(Succ(Succ(Succ(x64)))), Succ(Succ(x65)), Succ(Succ(x64)))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x71))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x71))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x71)))), Succ(Zero), Succ(Succ(x71)))))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (20) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) For Pair new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14)))))), new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x16))))), Pos(Succ(Succ(Succ(Succ(x17)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x16))))), Pos(new_primModNatS02(Succ(Succ(x17)), Succ(Succ(x16)), x17, x16))) which results in the following constraint: (1) (new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))=new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x16))))), Pos(Succ(Succ(Succ(Succ(x17)))))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))=x80 & new_esEs0(x80)=False ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x80)=False which results in the following new constraints: (3) (new_primEqInt(Pos(Zero))=False & Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))=Pos(Zero) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) (4) (new_primEqInt(Pos(Succ(x81)))=False & Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))=Pos(Succ(x81)) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) (5) (new_primEqInt(Neg(Succ(x82)))=False & Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))=Neg(Succ(x82)) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) (6) (new_primEqInt(Neg(Zero))=False & Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))=Neg(Zero) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (7) (Pos(Zero)=x83 & new_primEqInt(x83)=False & Succ(Succ(x14))=x84 & Succ(Succ(x15))=x85 & new_primModNatS02(x84, x85, x14, x15)=Zero ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: (8) (Pos(Succ(x81))=x88 & new_primEqInt(x88)=False & Succ(Succ(x14))=x89 & Succ(Succ(x15))=x90 & new_primModNatS02(x89, x90, x14, x15)=Succ(x81) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) We solved constraint (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(x83)=False which results in the following new constraints: (9) (False=False & Pos(Zero)=Pos(Succ(x86)) & Succ(Succ(x14))=x84 & Succ(Succ(x15))=x85 & new_primModNatS02(x84, x85, x14, x15)=Zero ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) (10) (False=False & Pos(Zero)=Neg(Succ(x87)) & Succ(Succ(x14))=x84 & Succ(Succ(x15))=x85 & new_primModNatS02(x84, x85, x14, x15)=Zero ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) We solved constraint (9) using rules (I), (II).We solved constraint (10) using rules (I), (II).We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x88)=False which results in the following new constraints: (11) (False=False & Pos(Succ(x81))=Pos(Succ(x91)) & Succ(Succ(x14))=x89 & Succ(Succ(x15))=x90 & new_primModNatS02(x89, x90, x14, x15)=Succ(x81) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) (12) (False=False & Pos(Succ(x81))=Neg(Succ(x92)) & Succ(Succ(x14))=x89 & Succ(Succ(x15))=x90 & new_primModNatS02(x89, x90, x14, x15)=Succ(x81) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) We simplified constraint (11) using rules (I), (II), (IV) which results in the following new constraint: (13) (Succ(Succ(x14))=x89 & Succ(Succ(x15))=x90 & new_primModNatS02(x89, x90, x14, x15)=Succ(x81) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) We solved constraint (12) using rules (I), (II).We simplified constraint (13) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x89, x90, x14, x15)=Succ(x81) which results in the following new constraints: (14) (new_primModNatS01(x95, x94)=Succ(x81) & Succ(Succ(Succ(x93)))=x95 & Succ(Succ(Zero))=x94 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x93)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(x93))), Succ(Succ(Zero)), Succ(x93), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x93)))))))) (15) (new_primModNatS02(x99, x98, x97, x96)=Succ(x81) & Succ(Succ(Succ(x97)))=x99 & Succ(Succ(Succ(x96)))=x98 & (\/x100:new_primModNatS02(x99, x98, x97, x96)=Succ(x100) & Succ(Succ(x97))=x99 & Succ(Succ(x96))=x98 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x97))))), Neg(Succ(Succ(Succ(Succ(x96))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x97)), Succ(Succ(x96)), x97, x96))), Neg(Succ(Succ(Succ(Succ(x96))))), Pos(Succ(Succ(Succ(Succ(x97))))))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x97)))))), Neg(Succ(Succ(Succ(Succ(Succ(x96)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(x97))), Succ(Succ(Succ(x96))), Succ(x97), Succ(x96)))), Neg(Succ(Succ(Succ(Succ(Succ(x96)))))), Pos(Succ(Succ(Succ(Succ(Succ(x97)))))))) (16) (new_primModNatS01(x102, x101)=Succ(x81) & Succ(Succ(Zero))=x102 & Succ(Succ(Zero))=x101 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) (17) (Succ(Succ(x105))=Succ(x81) & Succ(Succ(Zero))=x105 & Succ(Succ(Succ(x103)))=x104 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x103)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x103))), Zero, Succ(x103)))), Neg(Succ(Succ(Succ(Succ(Succ(x103)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (14) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x95, x94)=Succ(x81) which results in the following new constraint: (18) (new_primModNatS1(new_primMinusNatS2(Succ(x107), Succ(x106)), Succ(x106))=Succ(x81) & Succ(Succ(Succ(x93)))=x107 & Succ(Succ(Zero))=x106 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x93)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(x93))), Succ(Succ(Zero)), Succ(x93), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x93)))))))) We simplified constraint (15) using rule (IV) which results in the following new constraint: (19) (new_primModNatS02(x99, x98, x97, x96)=Succ(x81) & Succ(Succ(Succ(x97)))=x99 & Succ(Succ(Succ(x96)))=x98 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x97)))))), Neg(Succ(Succ(Succ(Succ(Succ(x96)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(x97))), Succ(Succ(Succ(x96))), Succ(x97), Succ(x96)))), Neg(Succ(Succ(Succ(Succ(Succ(x96)))))), Pos(Succ(Succ(Succ(Succ(Succ(x97)))))))) We simplified constraint (16) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x102, x101)=Succ(x81) which results in the following new constraint: (20) (new_primModNatS1(new_primMinusNatS2(Succ(x126), Succ(x125)), Succ(x125))=Succ(x81) & Succ(Succ(Zero))=x126 & Succ(Succ(Zero))=x125 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (17) using rules (I), (II), (IV) which results in the following new constraint: (21) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x103)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x103))), Zero, Succ(x103)))), Neg(Succ(Succ(Succ(Succ(Succ(x103)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (18) using rules (III), (IV), (VII) which results in the following new constraint: (22) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x93)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(x93))), Succ(Succ(Zero)), Succ(x93), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x93)))))))) We simplified constraint (19) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x99, x98, x97, x96)=Succ(x81) which results in the following new constraints: (23) (new_primModNatS01(x114, x113)=Succ(x81) & Succ(Succ(Succ(Succ(x112))))=x114 & Succ(Succ(Succ(Zero)))=x113 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x112))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x112)))), Succ(Succ(Succ(Zero))), Succ(Succ(x112)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x112))))))))) (24) (new_primModNatS02(x118, x117, x116, x115)=Succ(x81) & Succ(Succ(Succ(Succ(x116))))=x118 & Succ(Succ(Succ(Succ(x115))))=x117 & (\/x119:new_primModNatS02(x118, x117, x116, x115)=Succ(x119) & Succ(Succ(Succ(x116)))=x118 & Succ(Succ(Succ(x115)))=x117 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x116)))))), Neg(Succ(Succ(Succ(Succ(Succ(x115)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(x116))), Succ(Succ(Succ(x115))), Succ(x116), Succ(x115)))), Neg(Succ(Succ(Succ(Succ(Succ(x115)))))), Pos(Succ(Succ(Succ(Succ(Succ(x116)))))))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x116))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x115))))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x116)))), Succ(Succ(Succ(Succ(x115)))), Succ(Succ(x116)), Succ(Succ(x115))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x115))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x116))))))))) (25) (new_primModNatS01(x121, x120)=Succ(x81) & Succ(Succ(Succ(Zero)))=x121 & Succ(Succ(Succ(Zero)))=x120 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) (26) (Succ(Succ(x124))=Succ(x81) & Succ(Succ(Succ(Zero)))=x124 & Succ(Succ(Succ(Succ(x122))))=x123 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x122))))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x122)))), Succ(Zero), Succ(Succ(x122))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x122))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (23) using rules (III), (IV) which results in the following new constraint: (27) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x112))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x112)))), Succ(Succ(Succ(Zero))), Succ(Succ(x112)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x112))))))))) We simplified constraint (24) using rules (III), (IV) which results in the following new constraint: (28) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x116))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x115))))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x116)))), Succ(Succ(Succ(Succ(x115)))), Succ(Succ(x116)), Succ(Succ(x115))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x115))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x116))))))))) We simplified constraint (25) using rules (III), (IV) which results in the following new constraint: (29) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (26) using rules (I), (II), (IV) which results in the following new constraint: (30) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x122))))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x122)))), Succ(Zero), Succ(Succ(x122))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x122))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (20) using rules (III), (IV), (VII) which results in the following new constraint: (31) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) For Pair new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: *We consider the chain new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x26))))), Pos(Succ(Succ(Succ(Succ(x27)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x26))))), Pos(new_primModNatS02(Succ(Succ(x27)), Succ(Succ(x26)), x27, x26))), new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x28))))), Pos(Succ(Succ(Succ(Succ(x29)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x28)), Succ(Succ(x29)), x28, x29))), Pos(Succ(Succ(Succ(Succ(x29))))), Neg(Succ(Succ(Succ(Succ(x28)))))) which results in the following constraint: (1) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x26))))), Pos(new_primModNatS02(Succ(Succ(x27)), Succ(Succ(x26)), x27, x26)))=new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x28))))), Pos(Succ(Succ(Succ(Succ(x29)))))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x26))))), Pos(Succ(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x26))))), Pos(new_primModNatS02(Succ(Succ(x27)), Succ(Succ(x26)), x27, x26)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(Succ(x27))=x131 & Succ(Succ(x26))=x132 & new_primModNatS02(x131, x132, x27, x26)=Succ(Succ(Succ(Succ(x29)))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x26))))), Pos(Succ(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x26))))), Pos(new_primModNatS02(Succ(Succ(x27)), Succ(Succ(x26)), x27, x26)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x131, x132, x27, x26)=Succ(Succ(Succ(Succ(x29)))) which results in the following new constraints: (3) (new_primModNatS01(x135, x134)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(x133)))=x135 & Succ(Succ(Zero))=x134 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x133)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x133))), Succ(Succ(Zero)), Succ(x133), Zero)))) (4) (new_primModNatS02(x139, x138, x137, x136)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(x137)))=x139 & Succ(Succ(Succ(x136)))=x138 & (\/x140:new_primModNatS02(x139, x138, x137, x136)=Succ(Succ(Succ(Succ(x140)))) & Succ(Succ(x137))=x139 & Succ(Succ(x136))=x138 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x136))))), Pos(Succ(Succ(Succ(Succ(x137))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x136))))), Pos(new_primModNatS02(Succ(Succ(x137)), Succ(Succ(x136)), x137, x136)))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(x136)))))), Pos(Succ(Succ(Succ(Succ(Succ(x137)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x136)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x137))), Succ(Succ(Succ(x136))), Succ(x137), Succ(x136))))) (5) (new_primModNatS01(x142, x141)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Zero))=x142 & Succ(Succ(Zero))=x141 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) (6) (Succ(Succ(x145))=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Zero))=x145 & Succ(Succ(Succ(x143)))=x144 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(x143)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x143)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x143))), Zero, Succ(x143))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x135, x134)=Succ(Succ(Succ(Succ(x29)))) which results in the following new constraint: (7) (new_primModNatS1(new_primMinusNatS2(Succ(x147), Succ(x146)), Succ(x146))=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(x133)))=x147 & Succ(Succ(Zero))=x146 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x133)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x133))), Succ(Succ(Zero)), Succ(x133), Zero)))) We simplified constraint (4) using rule (IV) which results in the following new constraint: (8) (new_primModNatS02(x139, x138, x137, x136)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(x137)))=x139 & Succ(Succ(Succ(x136)))=x138 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(x136)))))), Pos(Succ(Succ(Succ(Succ(Succ(x137)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x136)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x137))), Succ(Succ(Succ(x136))), Succ(x137), Succ(x136))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x142, x141)=Succ(Succ(Succ(Succ(x29)))) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x166), Succ(x165)), Succ(x165))=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Zero))=x166 & Succ(Succ(Zero))=x165 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(x143)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x143)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x143))), Zero, Succ(x143))))) We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: (11) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x133)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x133))), Succ(Succ(Zero)), Succ(x133), Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x139, x138, x137, x136)=Succ(Succ(Succ(Succ(x29)))) which results in the following new constraints: (12) (new_primModNatS01(x154, x153)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(Succ(x152))))=x154 & Succ(Succ(Succ(Zero)))=x153 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x152))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x152)))), Succ(Succ(Succ(Zero))), Succ(Succ(x152)), Succ(Zero))))) (13) (new_primModNatS02(x158, x157, x156, x155)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(Succ(x156))))=x158 & Succ(Succ(Succ(Succ(x155))))=x157 & (\/x159:new_primModNatS02(x158, x157, x156, x155)=Succ(Succ(Succ(Succ(x159)))) & Succ(Succ(Succ(x156)))=x158 & Succ(Succ(Succ(x155)))=x157 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(x155)))))), Pos(Succ(Succ(Succ(Succ(Succ(x156)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x155)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x156))), Succ(Succ(Succ(x155))), Succ(x156), Succ(x155))))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x155))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x156))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x155))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x156)))), Succ(Succ(Succ(Succ(x155)))), Succ(Succ(x156)), Succ(Succ(x155)))))) (14) (new_primModNatS01(x161, x160)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(Zero)))=x161 & Succ(Succ(Succ(Zero)))=x160 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) (15) (Succ(Succ(x164))=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(Zero)))=x164 & Succ(Succ(Succ(Succ(x162))))=x163 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x162))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x162))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x162)))), Succ(Zero), Succ(Succ(x162)))))) We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: (16) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x152))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x152)))), Succ(Succ(Succ(Zero))), Succ(Succ(x152)), Succ(Zero))))) We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: (17) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x155))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x156))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x155))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x156)))), Succ(Succ(Succ(Succ(x155)))), Succ(Succ(x156)), Succ(Succ(x155)))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x162))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x162))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x162)))), Succ(Zero), Succ(Succ(x162)))))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (20) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) For Pair new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30)))))), new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x32))))), Neg(Succ(Succ(Succ(Succ(x33)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x32))))), Neg(new_primModNatS02(Succ(Succ(x33)), Succ(Succ(x32)), x33, x32))) which results in the following constraint: (1) (new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))=new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x32))))), Neg(Succ(Succ(Succ(Succ(x33)))))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))=x171 & new_esEs0(x171)=False ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x171)=False which results in the following new constraints: (3) (new_primEqInt(Pos(Zero))=False & Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))=Pos(Zero) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) (4) (new_primEqInt(Pos(Succ(x172)))=False & Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))=Pos(Succ(x172)) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) (5) (new_primEqInt(Neg(Succ(x173)))=False & Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))=Neg(Succ(x173)) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) (6) (new_primEqInt(Neg(Zero))=False & Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))=Neg(Zero) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) We solved constraint (3) using rules (I), (II).We 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(x173))=x174 & new_primEqInt(x174)=False & Succ(Succ(x30))=x175 & Succ(Succ(x31))=x176 & new_primModNatS02(x175, x176, x30, x31)=Succ(x173) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) We simplified constraint (6) using rules (I), (II), (VII) which results in the following new constraint: (8) (Neg(Zero)=x217 & new_primEqInt(x217)=False & Succ(Succ(x30))=x218 & Succ(Succ(x31))=x219 & new_primModNatS02(x218, x219, x30, x31)=Zero ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x174)=False which results in the following new constraints: (9) (False=False & Neg(Succ(x173))=Pos(Succ(x177)) & Succ(Succ(x30))=x175 & Succ(Succ(x31))=x176 & new_primModNatS02(x175, x176, x30, x31)=Succ(x173) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) (10) (False=False & Neg(Succ(x173))=Neg(Succ(x178)) & Succ(Succ(x30))=x175 & Succ(Succ(x31))=x176 & new_primModNatS02(x175, x176, x30, x31)=Succ(x173) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) We solved constraint (9) using rules (I), (II).We simplified constraint (10) using rules (I), (II), (IV) which results in the following new constraint: (11) (Succ(Succ(x30))=x175 & Succ(Succ(x31))=x176 & new_primModNatS02(x175, x176, x30, x31)=Succ(x173) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x175, x176, x30, x31)=Succ(x173) which results in the following new constraints: (12) (new_primModNatS01(x181, x180)=Succ(x173) & Succ(Succ(Succ(x179)))=x181 & Succ(Succ(Zero))=x180 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x179)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(x179))), Succ(Succ(Zero)), Succ(x179), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x179)))))))) (13) (new_primModNatS02(x185, x184, x183, x182)=Succ(x173) & Succ(Succ(Succ(x183)))=x185 & Succ(Succ(Succ(x182)))=x184 & (\/x186:new_primModNatS02(x185, x184, x183, x182)=Succ(x186) & Succ(Succ(x183))=x185 & Succ(Succ(x182))=x184 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x183))))), Pos(Succ(Succ(Succ(Succ(x182))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x183)), Succ(Succ(x182)), x183, x182))), Pos(Succ(Succ(Succ(Succ(x182))))), Neg(Succ(Succ(Succ(Succ(x183))))))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x183)))))), Pos(Succ(Succ(Succ(Succ(Succ(x182)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(x183))), Succ(Succ(Succ(x182))), Succ(x183), Succ(x182)))), Pos(Succ(Succ(Succ(Succ(Succ(x182)))))), Neg(Succ(Succ(Succ(Succ(Succ(x183)))))))) (14) (new_primModNatS01(x188, x187)=Succ(x173) & Succ(Succ(Zero))=x188 & Succ(Succ(Zero))=x187 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) (15) (Succ(Succ(x191))=Succ(x173) & Succ(Succ(Zero))=x191 & Succ(Succ(Succ(x189)))=x190 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x189)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x189))), Zero, Succ(x189)))), Pos(Succ(Succ(Succ(Succ(Succ(x189)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (12) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x181, x180)=Succ(x173) which results in the following new constraint: (16) (new_primModNatS1(new_primMinusNatS2(Succ(x193), Succ(x192)), Succ(x192))=Succ(x173) & Succ(Succ(Succ(x179)))=x193 & Succ(Succ(Zero))=x192 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x179)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(x179))), Succ(Succ(Zero)), Succ(x179), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x179)))))))) We simplified constraint (13) using rule (IV) which results in the following new constraint: (17) (new_primModNatS02(x185, x184, x183, x182)=Succ(x173) & Succ(Succ(Succ(x183)))=x185 & Succ(Succ(Succ(x182)))=x184 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x183)))))), Pos(Succ(Succ(Succ(Succ(Succ(x182)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(x183))), Succ(Succ(Succ(x182))), Succ(x183), Succ(x182)))), Pos(Succ(Succ(Succ(Succ(Succ(x182)))))), Neg(Succ(Succ(Succ(Succ(Succ(x183)))))))) We simplified constraint (14) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x188, x187)=Succ(x173) which results in the following new constraint: (18) (new_primModNatS1(new_primMinusNatS2(Succ(x212), Succ(x211)), Succ(x211))=Succ(x173) & Succ(Succ(Zero))=x212 & Succ(Succ(Zero))=x211 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (15) using rules (I), (II), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x189)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x189))), Zero, Succ(x189)))), Pos(Succ(Succ(Succ(Succ(Succ(x189)))))), 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'00(Neg(Succ(Succ(Succ(Succ(Succ(x179)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(x179))), Succ(Succ(Zero)), Succ(x179), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x179)))))))) We simplified constraint (17) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x185, x184, x183, x182)=Succ(x173) which results in the following new constraints: (21) (new_primModNatS01(x200, x199)=Succ(x173) & Succ(Succ(Succ(Succ(x198))))=x200 & Succ(Succ(Succ(Zero)))=x199 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x198))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x198)))), Succ(Succ(Succ(Zero))), Succ(Succ(x198)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x198))))))))) (22) (new_primModNatS02(x204, x203, x202, x201)=Succ(x173) & Succ(Succ(Succ(Succ(x202))))=x204 & Succ(Succ(Succ(Succ(x201))))=x203 & (\/x205:new_primModNatS02(x204, x203, x202, x201)=Succ(x205) & Succ(Succ(Succ(x202)))=x204 & Succ(Succ(Succ(x201)))=x203 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x202)))))), Pos(Succ(Succ(Succ(Succ(Succ(x201)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(x202))), Succ(Succ(Succ(x201))), Succ(x202), Succ(x201)))), Pos(Succ(Succ(Succ(Succ(Succ(x201)))))), Neg(Succ(Succ(Succ(Succ(Succ(x202)))))))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x202))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x201))))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x202)))), Succ(Succ(Succ(Succ(x201)))), Succ(Succ(x202)), Succ(Succ(x201))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x201))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x202))))))))) (23) (new_primModNatS01(x207, x206)=Succ(x173) & Succ(Succ(Succ(Zero)))=x207 & Succ(Succ(Succ(Zero)))=x206 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) (24) (Succ(Succ(x210))=Succ(x173) & Succ(Succ(Succ(Zero)))=x210 & Succ(Succ(Succ(Succ(x208))))=x209 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x208))))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x208)))), Succ(Zero), Succ(Succ(x208))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x208))))))), 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'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x198))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x198)))), Succ(Succ(Succ(Zero))), Succ(Succ(x198)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x198))))))))) We simplified constraint (22) using rules (III), (IV) which results in the following new constraint: (26) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x202))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x201))))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x202)))), Succ(Succ(Succ(Succ(x201)))), Succ(Succ(x202)), Succ(Succ(x201))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x201))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x202))))))))) We simplified constraint (23) using rules (III), (IV) which results in the following new constraint: (27) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (24) using rules (I), (II), (IV) which results in the following new constraint: (28) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x208))))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x208)))), Succ(Zero), Succ(Succ(x208))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x208))))))), 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'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x217)=False which results in the following new constraints: (30) (False=False & Neg(Zero)=Pos(Succ(x220)) & Succ(Succ(x30))=x218 & Succ(Succ(x31))=x219 & new_primModNatS02(x218, x219, x30, x31)=Zero ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) (31) (False=False & Neg(Zero)=Neg(Succ(x221)) & Succ(Succ(x30))=x218 & Succ(Succ(x31))=x219 & new_primModNatS02(x218, x219, x30, x31)=Zero ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) We solved constraint (30) using rules (I), (II).We solved constraint (31) using rules (I), (II). To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x71))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x71))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x71)))), Succ(Zero), Succ(Succ(x71)))))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(x52)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x52)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x52))), Zero, Succ(x52))))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x42)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x42))), Succ(Succ(Zero)), Succ(x42), Zero)))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x61))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x61)))), Succ(Succ(Succ(Zero))), Succ(Succ(x61)), Succ(Zero))))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x64))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x65))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x64))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x65)))), Succ(Succ(Succ(Succ(x64)))), Succ(Succ(x65)), Succ(Succ(x64)))))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) *new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x122))))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x122)))), Succ(Zero), Succ(Succ(x122))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x122))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x103)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x103))), Zero, Succ(x103)))), Neg(Succ(Succ(Succ(Succ(Succ(x103)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x93)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(x93))), Succ(Succ(Zero)), Succ(x93), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x93)))))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x112))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x112)))), Succ(Succ(Succ(Zero))), Succ(Succ(x112)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x112))))))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x116))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x115))))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x116)))), Succ(Succ(Succ(Succ(x115)))), Succ(Succ(x116)), Succ(Succ(x115))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x115))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x116))))))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) *new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x162))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x162))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x162)))), Succ(Zero), Succ(Succ(x162)))))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(x143)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x143)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x143))), Zero, Succ(x143))))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x133)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x133))), Succ(Succ(Zero)), Succ(x133), Zero)))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x152))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x152)))), Succ(Succ(Succ(Zero))), Succ(Succ(x152)), Succ(Zero))))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x155))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x156))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x155))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x156)))), Succ(Succ(Succ(Succ(x155)))), Succ(Succ(x156)), Succ(Succ(x155)))))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) *new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x208))))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x208)))), Succ(Zero), Succ(Succ(x208))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x208))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x189)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x189))), Zero, Succ(x189)))), Pos(Succ(Succ(Succ(Succ(Succ(x189)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x179)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(x179))), Succ(Succ(Zero)), Succ(x179), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x179)))))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x198))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x198)))), Succ(Succ(Succ(Zero))), Succ(Succ(x198)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x198))))))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x202))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x201))))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x202)))), Succ(Succ(Succ(Succ(x201)))), Succ(Succ(x202)), Succ(Succ(x201))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x201))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x202))))))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (1238) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs0(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs0(Pos(Succ(vyv3700))) -> new_primEqInt(Pos(Succ(vyv3700))) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs0(Neg(Succ(vyv3700))) -> new_primEqInt(Neg(Succ(vyv3700))) new_esEs0(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_esEs0(Neg(Succ(x0))) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_esEs0(Neg(Zero)) new_primEqInt(Neg(Zero)) new_esEs0(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1239) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F31(Succ(vyv23000), Succ(vyv130), vyv12, h) -> new_pr2F31(vyv23000, vyv130, vyv12, h) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1240) 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(vyv23000), Succ(vyv130), vyv12, h) -> new_pr2F31(vyv23000, vyv130, vyv12, h) The graph contains the following edges 1 > 1, 2 > 2, 3 >= 3, 4 >= 4 ---------------------------------------- (1241) YES ---------------------------------------- (1242) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G14(vyv12, vyv13, Succ(Succ(vyv1400)), h) -> new_pr2F0G14(vyv12, vyv13, vyv1400, h) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1243) 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_pr2F0G14(vyv12, vyv13, Succ(Succ(vyv1400)), h) -> new_pr2F0G14(vyv12, vyv13, vyv1400, h) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 >= 4 ---------------------------------------- (1244) YES ---------------------------------------- (1245) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G15(vyv20, vyv21, Succ(Succ(vyv2200)), h) -> new_pr2F0G15(vyv20, vyv21, vyv2200, h) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1246) 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_pr2F0G15(vyv20, vyv21, Succ(Succ(vyv2200)), h) -> new_pr2F0G15(vyv20, vyv21, vyv2200, h) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 >= 4 ---------------------------------------- (1247) YES ---------------------------------------- (1248) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vyv347, vyv346) -> new_gcd0Gcd'1(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'1(False, vyv346, vyv347) -> new_gcd0Gcd'0(vyv346, new_rem(vyv347, vyv346)) The TRS R consists of the following rules: new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primEqInt(Neg(Zero)) -> True new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Zero, vyv34400) -> Zero new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primEqInt(Neg(Succ(vyv38000))) -> False new_error(h) -> error([]) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_rem(Integer(x0), Integer(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primEqInt(Neg(Zero)) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs(Integer(x0)) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1249) MNOCProof (EQUIVALENT) We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. ---------------------------------------- (1250) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vyv347, vyv346) -> new_gcd0Gcd'1(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'1(False, vyv346, vyv347) -> new_gcd0Gcd'0(vyv346, new_rem(vyv347, vyv346)) The TRS R consists of the following rules: new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primEqInt(Neg(Zero)) -> True new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Zero, vyv34400) -> Zero new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primEqInt(Neg(Succ(vyv38000))) -> False new_error(h) -> error([]) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (1251) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'0(vyv347, vyv346) -> new_gcd0Gcd'1(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) 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 constraint: (3) (new_primEqInt(x13)=False & new_rem(x2, x3)=Integer(x13) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x13)=False which results in the following new constraints: (4) (False=False & new_rem(x2, x3)=Integer(Pos(Succ(x14))) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) (5) (False=False & new_rem(x2, x3)=Integer(Neg(Succ(x15))) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) We simplified constraint (4) using rules (I), (II) which results in the following new constraint: (6) (new_rem(x2, x3)=Integer(Pos(Succ(x14))) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) We simplified constraint (5) using rules (I), (II) which results in the following new constraint: (7) (new_rem(x2, x3)=Integer(Neg(Succ(x15))) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_rem(x2, x3)=Integer(Pos(Succ(x14))) which results in the following new constraint: (8) (Integer(new_primRemInt(x17, x16))=Integer(Pos(Succ(x14))) ==> new_gcd0Gcd'0(Integer(x17), Integer(x16))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(x17), Integer(x16))), Integer(x16), Integer(x17))) We simplified constraint (8) using rules (I), (II) which results in the following new constraint: (9) (new_primRemInt(x17, x16)=Pos(Succ(x14)) ==> new_gcd0Gcd'0(Integer(x17), Integer(x16))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(x17), Integer(x16))), Integer(x16), Integer(x17))) We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primRemInt(x17, x16)=Pos(Succ(x14)) which results in the following new constraints: (10) (Pos(new_primModNatS1(x19, x18))=Pos(Succ(x14)) ==> new_gcd0Gcd'0(Integer(Pos(x19)), Integer(Neg(Succ(x18))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x19)), Integer(Neg(Succ(x18))))), Integer(Neg(Succ(x18))), Integer(Pos(x19)))) (11) (Pos(new_primModNatS1(x21, x20))=Pos(Succ(x14)) ==> new_gcd0Gcd'0(Integer(Pos(x21)), Integer(Pos(Succ(x20))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x21)), Integer(Pos(Succ(x20))))), Integer(Pos(Succ(x20))), Integer(Pos(x21)))) (12) (new_error(ty_Int)=Pos(Succ(x14)) ==> new_gcd0Gcd'0(Integer(Pos(x24)), Integer(Pos(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x24)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Pos(x24)))) (13) (new_error(ty_Int)=Pos(Succ(x14)) ==> new_gcd0Gcd'0(Integer(Neg(x25)), Integer(Neg(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x25)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Neg(x25)))) (14) (new_error(ty_Int)=Pos(Succ(x14)) ==> new_gcd0Gcd'0(Integer(Pos(x26)), Integer(Neg(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x26)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Pos(x26)))) (15) (new_error(ty_Int)=Pos(Succ(x14)) ==> new_gcd0Gcd'0(Integer(Neg(x27)), Integer(Pos(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x27)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Neg(x27)))) We simplified constraint (10) using rules (I), (II), (IV) which results in the following new constraint: (16) (new_gcd0Gcd'0(Integer(Pos(x19)), Integer(Neg(Succ(x18))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x19)), Integer(Neg(Succ(x18))))), Integer(Neg(Succ(x18))), Integer(Pos(x19)))) We simplified constraint (11) using rules (I), (II), (IV) which results in the following new constraint: (17) (new_gcd0Gcd'0(Integer(Pos(x21)), Integer(Pos(Succ(x20))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x21)), Integer(Pos(Succ(x20))))), Integer(Pos(Succ(x20))), Integer(Pos(x21)))) We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: (18) (new_gcd0Gcd'0(Integer(Pos(x24)), Integer(Pos(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x24)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Pos(x24)))) We simplified constraint (13) using rules (III), (IV), (VII) which results in the following new constraint: (19) (new_gcd0Gcd'0(Integer(Neg(x25)), Integer(Neg(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x25)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Neg(x25)))) We simplified constraint (14) using rules (III), (IV), (VII) which results in the following new constraint: (20) (new_gcd0Gcd'0(Integer(Pos(x26)), Integer(Neg(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x26)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Pos(x26)))) We simplified constraint (15) using rules (III), (IV), (VII) which results in the following new constraint: (21) (new_gcd0Gcd'0(Integer(Neg(x27)), Integer(Pos(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x27)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Neg(x27)))) We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_rem(x2, x3)=Integer(Neg(Succ(x15))) which results in the following new constraint: (22) (Integer(new_primRemInt(x35, x34))=Integer(Neg(Succ(x15))) ==> new_gcd0Gcd'0(Integer(x35), Integer(x34))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(x35), Integer(x34))), Integer(x34), Integer(x35))) We simplified constraint (22) using rules (I), (II) which results in the following new constraint: (23) (new_primRemInt(x35, x34)=Neg(Succ(x15)) ==> new_gcd0Gcd'0(Integer(x35), Integer(x34))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(x35), Integer(x34))), Integer(x34), Integer(x35))) We simplified constraint (23) using rule (V) (with possible (I) afterwards) using induction on new_primRemInt(x35, x34)=Neg(Succ(x15)) which results in the following new constraints: (24) (Neg(new_primModNatS1(x41, x40))=Neg(Succ(x15)) ==> new_gcd0Gcd'0(Integer(Neg(x41)), Integer(Pos(Succ(x40))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x41)), Integer(Pos(Succ(x40))))), Integer(Pos(Succ(x40))), Integer(Neg(x41)))) (25) (new_error(ty_Int)=Neg(Succ(x15)) ==> new_gcd0Gcd'0(Integer(Pos(x42)), Integer(Pos(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x42)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Pos(x42)))) (26) (new_error(ty_Int)=Neg(Succ(x15)) ==> new_gcd0Gcd'0(Integer(Neg(x43)), Integer(Neg(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x43)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Neg(x43)))) (27) (new_error(ty_Int)=Neg(Succ(x15)) ==> new_gcd0Gcd'0(Integer(Pos(x44)), Integer(Neg(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x44)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Pos(x44)))) (28) (new_error(ty_Int)=Neg(Succ(x15)) ==> new_gcd0Gcd'0(Integer(Neg(x45)), Integer(Pos(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x45)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Neg(x45)))) (29) (Neg(new_primModNatS1(x47, x46))=Neg(Succ(x15)) ==> new_gcd0Gcd'0(Integer(Neg(x47)), Integer(Neg(Succ(x46))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x47)), Integer(Neg(Succ(x46))))), Integer(Neg(Succ(x46))), Integer(Neg(x47)))) We simplified constraint (24) using rules (I), (II), (IV) which results in the following new constraint: (30) (new_gcd0Gcd'0(Integer(Neg(x41)), Integer(Pos(Succ(x40))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x41)), Integer(Pos(Succ(x40))))), Integer(Pos(Succ(x40))), Integer(Neg(x41)))) We simplified constraint (25) using rules (III), (IV), (VII) which results in the following new constraint: (31) (new_gcd0Gcd'0(Integer(Pos(x42)), Integer(Pos(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x42)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Pos(x42)))) We simplified constraint (26) using rules (III), (IV), (VII) which results in the following new constraint: (32) (new_gcd0Gcd'0(Integer(Neg(x43)), Integer(Neg(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x43)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Neg(x43)))) We simplified constraint (27) using rules (III), (IV), (VII) which results in the following new constraint: (33) (new_gcd0Gcd'0(Integer(Pos(x44)), Integer(Neg(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x44)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Pos(x44)))) We simplified constraint (28) using rules (III), (IV), (VII) which results in the following new constraint: (34) (new_gcd0Gcd'0(Integer(Neg(x45)), Integer(Pos(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x45)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Neg(x45)))) We simplified constraint (29) using rules (I), (II), (IV) which results in the following new constraint: (35) (new_gcd0Gcd'0(Integer(Neg(x47)), Integer(Neg(Succ(x46))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x47)), Integer(Neg(Succ(x46))))), Integer(Neg(Succ(x46))), Integer(Neg(x47)))) For Pair new_gcd0Gcd'1(False, vyv346, vyv347) -> new_gcd0Gcd'0(vyv346, new_rem(vyv347, vyv346)) 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(vyv347, vyv346) -> new_gcd0Gcd'1(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) *(new_gcd0Gcd'0(Integer(Pos(x19)), Integer(Neg(Succ(x18))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x19)), Integer(Neg(Succ(x18))))), Integer(Neg(Succ(x18))), Integer(Pos(x19)))) *(new_gcd0Gcd'0(Integer(Pos(x21)), Integer(Pos(Succ(x20))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x21)), Integer(Pos(Succ(x20))))), Integer(Pos(Succ(x20))), Integer(Pos(x21)))) *(new_gcd0Gcd'0(Integer(Pos(x24)), Integer(Pos(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x24)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Pos(x24)))) *(new_gcd0Gcd'0(Integer(Neg(x25)), Integer(Neg(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x25)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Neg(x25)))) *(new_gcd0Gcd'0(Integer(Pos(x26)), Integer(Neg(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x26)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Pos(x26)))) *(new_gcd0Gcd'0(Integer(Neg(x27)), Integer(Pos(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x27)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Neg(x27)))) *(new_gcd0Gcd'0(Integer(Neg(x41)), Integer(Pos(Succ(x40))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x41)), Integer(Pos(Succ(x40))))), Integer(Pos(Succ(x40))), Integer(Neg(x41)))) *(new_gcd0Gcd'0(Integer(Pos(x42)), Integer(Pos(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x42)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Pos(x42)))) *(new_gcd0Gcd'0(Integer(Neg(x43)), Integer(Neg(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x43)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Neg(x43)))) *(new_gcd0Gcd'0(Integer(Pos(x44)), Integer(Neg(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x44)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Pos(x44)))) *(new_gcd0Gcd'0(Integer(Neg(x45)), Integer(Pos(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x45)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Neg(x45)))) *(new_gcd0Gcd'0(Integer(Neg(x47)), Integer(Neg(Succ(x46))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x47)), Integer(Neg(Succ(x46))))), Integer(Neg(Succ(x46))), Integer(Neg(x47)))) *new_gcd0Gcd'1(False, vyv346, vyv347) -> new_gcd0Gcd'0(vyv346, new_rem(vyv347, vyv346)) *(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. ---------------------------------------- (1252) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vyv347, vyv346) -> new_gcd0Gcd'1(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) new_gcd0Gcd'1(False, vyv346, vyv347) -> new_gcd0Gcd'0(vyv346, new_rem(vyv347, vyv346)) The TRS R consists of the following rules: new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primEqInt(Neg(Zero)) -> True new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Zero, vyv34400) -> Zero new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primEqInt(Neg(Succ(vyv38000))) -> False new_error(h) -> error([]) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_rem(Integer(x0), Integer(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primEqInt(Neg(Zero)) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs(Integer(x0)) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1253) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(vyv347, vyv346) -> new_gcd0Gcd'1(new_esEs(new_rem(vyv347, vyv346)), vyv346, vyv347) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(x0), Integer(x1)) -> new_gcd0Gcd'1(new_esEs(Integer(new_primRemInt(x0, x1))), Integer(x1), Integer(x0)),new_gcd0Gcd'0(Integer(x0), Integer(x1)) -> new_gcd0Gcd'1(new_esEs(Integer(new_primRemInt(x0, x1))), Integer(x1), Integer(x0))) ---------------------------------------- (1254) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vyv346, vyv347) -> new_gcd0Gcd'0(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'0(Integer(x0), Integer(x1)) -> new_gcd0Gcd'1(new_esEs(Integer(new_primRemInt(x0, x1))), Integer(x1), Integer(x0)) The TRS R consists of the following rules: new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primEqInt(Neg(Zero)) -> True new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Zero, vyv34400) -> Zero new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primEqInt(Neg(Succ(vyv38000))) -> False new_error(h) -> error([]) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_rem(Integer(x0), Integer(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primEqInt(Neg(Zero)) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs(Integer(x0)) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1255) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(x0), Integer(x1)) -> new_gcd0Gcd'1(new_esEs(Integer(new_primRemInt(x0, x1))), Integer(x1), Integer(x0)) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(x0), Integer(x1)) -> new_gcd0Gcd'1(new_primEqInt(new_primRemInt(x0, x1)), Integer(x1), Integer(x0)),new_gcd0Gcd'0(Integer(x0), Integer(x1)) -> new_gcd0Gcd'1(new_primEqInt(new_primRemInt(x0, x1)), Integer(x1), Integer(x0))) ---------------------------------------- (1256) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vyv346, vyv347) -> new_gcd0Gcd'0(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'0(Integer(x0), Integer(x1)) -> new_gcd0Gcd'1(new_primEqInt(new_primRemInt(x0, x1)), Integer(x1), Integer(x0)) The TRS R consists of the following rules: new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primEqInt(Neg(Zero)) -> True new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Zero, vyv34400) -> Zero new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primEqInt(Neg(Succ(vyv38000))) -> False new_error(h) -> error([]) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_esEs(Integer(vyv2330)) -> new_primEqInt(vyv2330) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_rem(Integer(x0), Integer(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primEqInt(Neg(Zero)) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs(Integer(x0)) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1257) 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. ---------------------------------------- (1258) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vyv346, vyv347) -> new_gcd0Gcd'0(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'0(Integer(x0), Integer(x1)) -> new_gcd0Gcd'1(new_primEqInt(new_primRemInt(x0, x1)), Integer(x1), Integer(x0)) The TRS R consists of the following rules: new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(h) -> error([]) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_rem(Integer(x0), Integer(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primEqInt(Neg(Zero)) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs(Integer(x0)) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1259) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_esEs(Integer(x0)) ---------------------------------------- (1260) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vyv346, vyv347) -> new_gcd0Gcd'0(vyv346, new_rem(vyv347, vyv346)) new_gcd0Gcd'0(Integer(x0), Integer(x1)) -> new_gcd0Gcd'1(new_primEqInt(new_primRemInt(x0, x1)), Integer(x1), Integer(x0)) The TRS R consists of the following rules: new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(h) -> error([]) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_rem(Integer(x0), Integer(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primEqInt(Neg(Zero)) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1261) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, vyv346, vyv347) -> new_gcd0Gcd'0(vyv346, new_rem(vyv347, vyv346)) at position [1] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Integer(x1), Integer(x0)) -> new_gcd0Gcd'0(Integer(x1), Integer(new_primRemInt(x0, x1))),new_gcd0Gcd'1(False, Integer(x1), Integer(x0)) -> new_gcd0Gcd'0(Integer(x1), Integer(new_primRemInt(x0, x1)))) ---------------------------------------- (1262) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(x0), Integer(x1)) -> new_gcd0Gcd'1(new_primEqInt(new_primRemInt(x0, x1)), Integer(x1), Integer(x0)) new_gcd0Gcd'1(False, Integer(x1), Integer(x0)) -> new_gcd0Gcd'0(Integer(x1), Integer(new_primRemInt(x0, x1))) The TRS R consists of the following rules: new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_error(h) -> error([]) new_rem(Integer(vyv3470), Integer(vyv3460)) -> Integer(new_primRemInt(vyv3470, vyv3460)) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_rem(Integer(x0), Integer(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primEqInt(Neg(Zero)) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1263) 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. ---------------------------------------- (1264) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(x0), Integer(x1)) -> new_gcd0Gcd'1(new_primEqInt(new_primRemInt(x0, x1)), Integer(x1), Integer(x0)) new_gcd0Gcd'1(False, Integer(x1), Integer(x0)) -> new_gcd0Gcd'0(Integer(x1), Integer(new_primRemInt(x0, x1))) The TRS R consists of the following rules: new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero new_error(h) -> error([]) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_rem(Integer(x0), Integer(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primEqInt(Neg(Zero)) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1265) 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(Integer(x0), Integer(x1)) ---------------------------------------- (1266) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(x0), Integer(x1)) -> new_gcd0Gcd'1(new_primEqInt(new_primRemInt(x0, x1)), Integer(x1), Integer(x0)) new_gcd0Gcd'1(False, Integer(x1), Integer(x0)) -> new_gcd0Gcd'0(Integer(x1), Integer(new_primRemInt(x0, x1))) The TRS R consists of the following rules: new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero new_error(h) -> error([]) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primEqInt(Neg(Zero)) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1267) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Integer(x0), Integer(x1)) -> new_gcd0Gcd'1(new_primEqInt(new_primRemInt(x0, x1)), Integer(x1), Integer(x0)) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Pos(x0))),new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Pos(x0)))) (new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Pos(x0))),new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Pos(x0)))) (new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))),new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0)))) (new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error(ty_Int)), Integer(Pos(Zero)), Integer(Pos(x0))),new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error(ty_Int)), Integer(Pos(Zero)), Integer(Pos(x0)))) (new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error(ty_Int)), Integer(Neg(Zero)), Integer(Neg(x0))),new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error(ty_Int)), Integer(Neg(Zero)), Integer(Neg(x0)))) (new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error(ty_Int)), Integer(Neg(Zero)), Integer(Pos(x0))),new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error(ty_Int)), Integer(Neg(Zero)), Integer(Pos(x0)))) (new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error(ty_Int)), Integer(Pos(Zero)), Integer(Neg(x0))),new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error(ty_Int)), Integer(Pos(Zero)), Integer(Neg(x0)))) (new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Neg(x0))),new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Neg(x0)))) ---------------------------------------- (1268) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(x1), Integer(x0)) -> new_gcd0Gcd'0(Integer(x1), Integer(new_primRemInt(x0, x1))) new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error(ty_Int)), Integer(Pos(Zero)), Integer(Pos(x0))) new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error(ty_Int)), Integer(Neg(Zero)), Integer(Neg(x0))) new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error(ty_Int)), Integer(Neg(Zero)), Integer(Pos(x0))) new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error(ty_Int)), Integer(Pos(Zero)), Integer(Neg(x0))) new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) The TRS R consists of the following rules: new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero new_error(h) -> error([]) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primEqInt(Neg(Zero)) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1269) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error(ty_Int)), Integer(Pos(Zero)), Integer(Pos(x0))) at position [0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_primEqInt(error([])), Integer(Pos(Zero)), Integer(Pos(x0))),new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_primEqInt(error([])), Integer(Pos(Zero)), Integer(Pos(x0)))) ---------------------------------------- (1270) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(x1), Integer(x0)) -> new_gcd0Gcd'0(Integer(x1), Integer(new_primRemInt(x0, x1))) new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error(ty_Int)), Integer(Neg(Zero)), Integer(Neg(x0))) new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error(ty_Int)), Integer(Neg(Zero)), Integer(Pos(x0))) new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error(ty_Int)), Integer(Pos(Zero)), Integer(Neg(x0))) new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_primEqInt(error([])), Integer(Pos(Zero)), Integer(Pos(x0))) The TRS R consists of the following rules: new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero new_error(h) -> error([]) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primEqInt(Neg(Zero)) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1271) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1272) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'1(False, Integer(x1), Integer(x0)) -> new_gcd0Gcd'0(Integer(x1), Integer(new_primRemInt(x0, x1))) new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error(ty_Int)), Integer(Neg(Zero)), Integer(Neg(x0))) new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error(ty_Int)), Integer(Neg(Zero)), Integer(Pos(x0))) new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error(ty_Int)), Integer(Pos(Zero)), Integer(Neg(x0))) new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) The TRS R consists of the following rules: new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero new_error(h) -> error([]) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primEqInt(Neg(Zero)) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1273) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error(ty_Int)), Integer(Neg(Zero)), Integer(Neg(x0))) at position [0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_primEqInt(error([])), Integer(Neg(Zero)), Integer(Neg(x0))),new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_primEqInt(error([])), Integer(Neg(Zero)), Integer(Neg(x0)))) ---------------------------------------- (1274) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'1(False, Integer(x1), Integer(x0)) -> new_gcd0Gcd'0(Integer(x1), Integer(new_primRemInt(x0, x1))) new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error(ty_Int)), Integer(Neg(Zero)), Integer(Pos(x0))) new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error(ty_Int)), Integer(Pos(Zero)), Integer(Neg(x0))) new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_primEqInt(error([])), Integer(Neg(Zero)), Integer(Neg(x0))) The TRS R consists of the following rules: new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero new_error(h) -> error([]) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primEqInt(Neg(Zero)) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1275) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1276) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(x1), Integer(x0)) -> new_gcd0Gcd'0(Integer(x1), Integer(new_primRemInt(x0, x1))) new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error(ty_Int)), Integer(Neg(Zero)), Integer(Pos(x0))) new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error(ty_Int)), Integer(Pos(Zero)), Integer(Neg(x0))) new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) The TRS R consists of the following rules: new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero new_error(h) -> error([]) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primEqInt(Neg(Zero)) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1277) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error(ty_Int)), Integer(Neg(Zero)), Integer(Pos(x0))) at position [0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_primEqInt(error([])), Integer(Neg(Zero)), Integer(Pos(x0))),new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_primEqInt(error([])), Integer(Neg(Zero)), Integer(Pos(x0)))) ---------------------------------------- (1278) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(x1), Integer(x0)) -> new_gcd0Gcd'0(Integer(x1), Integer(new_primRemInt(x0, x1))) new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error(ty_Int)), Integer(Pos(Zero)), Integer(Neg(x0))) new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_primEqInt(error([])), Integer(Neg(Zero)), Integer(Pos(x0))) The TRS R consists of the following rules: new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero new_error(h) -> error([]) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primEqInt(Neg(Zero)) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1279) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1280) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'1(False, Integer(x1), Integer(x0)) -> new_gcd0Gcd'0(Integer(x1), Integer(new_primRemInt(x0, x1))) new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error(ty_Int)), Integer(Pos(Zero)), Integer(Neg(x0))) new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) The TRS R consists of the following rules: new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero new_error(h) -> error([]) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primEqInt(Neg(Zero)) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1281) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_primEqInt(new_error(ty_Int)), Integer(Pos(Zero)), Integer(Neg(x0))) at position [0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_primEqInt(error([])), Integer(Pos(Zero)), Integer(Neg(x0))),new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_primEqInt(error([])), Integer(Pos(Zero)), Integer(Neg(x0)))) ---------------------------------------- (1282) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'1(False, Integer(x1), Integer(x0)) -> new_gcd0Gcd'0(Integer(x1), Integer(new_primRemInt(x0, x1))) new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_primEqInt(error([])), Integer(Pos(Zero)), Integer(Neg(x0))) The TRS R consists of the following rules: new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero new_error(h) -> error([]) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primEqInt(Neg(Zero)) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1283) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1284) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(x1), Integer(x0)) -> new_gcd0Gcd'0(Integer(x1), Integer(new_primRemInt(x0, x1))) new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) The TRS R consists of the following rules: new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero new_error(h) -> error([]) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primEqInt(Neg(Zero)) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1285) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Integer(x1), Integer(x0)) -> new_gcd0Gcd'0(Integer(x1), Integer(new_primRemInt(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'0(Integer(Neg(Succ(x1))), Integer(Pos(new_primModNatS1(x0, x1)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'0(Integer(Neg(Succ(x1))), Integer(Pos(new_primModNatS1(x0, x1))))) (new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Pos(new_primModNatS1(x0, x1)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Pos(new_primModNatS1(x0, x1))))) (new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1))))) (new_gcd0Gcd'1(False, Integer(Pos(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'0(Integer(Pos(Zero)), Integer(new_error(ty_Int))),new_gcd0Gcd'1(False, Integer(Pos(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'0(Integer(Pos(Zero)), Integer(new_error(ty_Int)))) (new_gcd0Gcd'1(False, Integer(Neg(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Neg(Zero)), Integer(new_error(ty_Int))),new_gcd0Gcd'1(False, Integer(Neg(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Neg(Zero)), Integer(new_error(ty_Int)))) (new_gcd0Gcd'1(False, Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'0(Integer(Neg(Zero)), Integer(new_error(ty_Int))),new_gcd0Gcd'1(False, Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'0(Integer(Neg(Zero)), Integer(new_error(ty_Int)))) (new_gcd0Gcd'1(False, Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Zero)), Integer(new_error(ty_Int))),new_gcd0Gcd'1(False, Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Zero)), Integer(new_error(ty_Int)))) (new_gcd0Gcd'1(False, Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Neg(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Neg(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1))))) ---------------------------------------- (1286) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'1(False, Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'0(Integer(Neg(Succ(x1))), Integer(Pos(new_primModNatS1(x0, x1)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Pos(new_primModNatS1(x0, x1)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) new_gcd0Gcd'1(False, Integer(Pos(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'0(Integer(Pos(Zero)), Integer(new_error(ty_Int))) new_gcd0Gcd'1(False, Integer(Neg(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Neg(Zero)), Integer(new_error(ty_Int))) new_gcd0Gcd'1(False, Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'0(Integer(Neg(Zero)), Integer(new_error(ty_Int))) new_gcd0Gcd'1(False, Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Zero)), Integer(new_error(ty_Int))) new_gcd0Gcd'1(False, Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Neg(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) The TRS R consists of the following rules: new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero new_error(h) -> error([]) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primEqInt(Neg(Zero)) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1287) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 4 less nodes. ---------------------------------------- (1288) Complex Obligation (AND) ---------------------------------------- (1289) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Neg(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) The TRS R consists of the following rules: new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero new_error(h) -> error([]) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primEqInt(Neg(Zero)) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1290) 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. ---------------------------------------- (1291) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Neg(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primEqInt(Neg(Zero)) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1292) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primRemInt(Neg(x0), Neg(Zero)) ---------------------------------------- (1293) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Neg(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1294) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Neg(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero))))) (new_gcd0Gcd'1(False, Integer(Neg(Succ(x0))), Integer(Neg(Zero))) -> new_gcd0Gcd'0(Integer(Neg(Succ(x0))), Integer(Neg(Zero))),new_gcd0Gcd'1(False, Integer(Neg(Succ(x0))), Integer(Neg(Zero))) -> new_gcd0Gcd'0(Integer(Neg(Succ(x0))), Integer(Neg(Zero)))) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero))))) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))))) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(new_primModNatS02(x0, x1, x0, x1)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(new_primModNatS02(x0, x1, x0, x1))))) ---------------------------------------- (1295) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(x0))), Integer(Neg(Zero))) -> new_gcd0Gcd'0(Integer(Neg(Succ(x0))), Integer(Neg(Zero))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(new_primModNatS02(x0, x1, x0, x1)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1296) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1297) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(new_primModNatS02(x0, x1, x0, x1)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1298) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Zero, Zero)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Zero, Zero))))) ---------------------------------------- (1299) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Zero, Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1300) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1301) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(new_primModNatS02(x0, x1, x0, x1)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1302) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero))))) ---------------------------------------- (1303) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1304) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero))))) (new_gcd0Gcd'0(Integer(Neg(Zero)), Integer(Neg(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero)), Integer(Neg(Succ(x0))), Integer(Neg(Zero))),new_gcd0Gcd'0(Integer(Neg(Zero)), Integer(Neg(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero)), Integer(Neg(Succ(x0))), Integer(Neg(Zero)))) (new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero))))) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))))) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0)))))) ---------------------------------------- (1305) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'0(Integer(Neg(Zero)), Integer(Neg(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero)), Integer(Neg(Succ(x0))), Integer(Neg(Zero))) new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1306) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 2 less nodes. ---------------------------------------- (1307) Complex Obligation (AND) ---------------------------------------- (1308) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1309) 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. ---------------------------------------- (1310) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) The TRS R consists of the following rules: new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS1 -> Zero new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1311) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primMinusNatS2(Zero, Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) ---------------------------------------- (1312) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) The TRS R consists of the following rules: new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS1 -> Zero new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1313) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))))) ---------------------------------------- (1314) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS1 -> Zero new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1315) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero))))) ---------------------------------------- (1316) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) The TRS R consists of the following rules: new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS1 -> Zero new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1317) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))))) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero))))) ---------------------------------------- (1318) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) The TRS R consists of the following rules: new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS1 -> Zero new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1319) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero))))) ---------------------------------------- (1320) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) The TRS R consists of the following rules: new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS1 -> Zero new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1321) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Zero, Zero)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Zero, Zero))))) ---------------------------------------- (1322) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Zero, Zero)))) The TRS R consists of the following rules: new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS1 -> Zero new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1323) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1324) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) The TRS R consists of the following rules: new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS1 -> Zero new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1325) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x0))))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x0))))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0))))))) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (1326) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x0))))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS1 -> Zero new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1327) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1328) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x0))))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) The TRS R consists of the following rules: new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS1 -> Zero new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1329) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x0))))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x0))))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x0))))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0))))))) ---------------------------------------- (1330) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x0))))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS1 -> Zero new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1331) 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(Integer(x_1)) = x_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'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 2 >= 1, 3 >= 2 *new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 2 >= 1, 3 > 2 *new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x0))))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) (allowed arguments on rhs = {2, 3}) The graph contains the following edges 2 >= 2, 1 >= 3 *new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(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, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) ---------------------------------------- (1332) YES ---------------------------------------- (1333) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(new_primModNatS02(x0, x1, x0, x1)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1334) 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. ---------------------------------------- (1335) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(new_primModNatS02(x0, x1, x0, x1)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1336) 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) ---------------------------------------- (1337) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(new_primModNatS02(x0, x1, x0, x1)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1338) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Zero, Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Zero, Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (1339) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Zero, Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1340) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))))) ---------------------------------------- (1341) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Zero, Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1342) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Zero, Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (1343) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1344) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (1345) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1346) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))))) ---------------------------------------- (1347) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1348) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (1349) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1350) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))))) ---------------------------------------- (1351) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1352) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (1353) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1354) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero)), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero)), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (1355) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero)), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1356) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1357) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1358) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(new_primModNatS02(x0, x1, x0, x1)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS01(Succ(x2), Zero)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS01(Succ(x2), Zero))))) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))))) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS01(Zero, Zero)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS01(Zero, Zero))))) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (1359) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS01(Succ(x2), Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS01(Zero, Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1360) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. ---------------------------------------- (1361) Complex Obligation (AND) ---------------------------------------- (1362) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS01(Succ(x2), Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1363) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS01(Succ(x2), Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))))) ---------------------------------------- (1364) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1365) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))))) ---------------------------------------- (1366) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1367) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))))) ---------------------------------------- (1368) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1369) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(False) = 0 POL(Integer(x_1)) = 2*x_1 POL(Neg(x_1)) = 2 + 2*x_1 POL(Succ(x_1)) = 1 + x_1 POL(True) = 3 POL(Zero) = 0 POL(new_gcd0Gcd'0(x_1, x_2)) = 2*x_1 + 2*x_2 POL(new_gcd0Gcd'1(x_1, x_2, x_3)) = 2*x_2 + 2*x_3 POL(new_primEqInt(x_1)) = 0 POL(new_primMinusNatS2(x_1, x_2)) = x_1 POL(new_primModNatS01(x_1, x_2)) = 3 + x_1 POL(new_primModNatS02(x_1, x_2, x_3, x_4)) = 3 + x_1 POL(new_primModNatS1(x_1, x_2)) = 1 + x_1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) ---------------------------------------- (1370) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1371) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 3 less nodes. ---------------------------------------- (1372) TRUE ---------------------------------------- (1373) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1374) 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_primEqInt(Pos(Succ(x0))) ---------------------------------------- (1375) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all (P,Q,R)-chains. ---------------------------------------- (1376) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(new_primModNatS02(Succ(x3), Succ(x2), x3, x2)))), new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x4))))), Integer(Neg(Succ(Succ(Succ(x5)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x4), Succ(x5), x4, x5))), Integer(Neg(Succ(Succ(Succ(x5))))), Integer(Neg(Succ(Succ(Succ(x4)))))) which results in the following constraint: (1) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(new_primModNatS02(Succ(x3), Succ(x2), x3, x2))))=new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x4))))), Integer(Neg(Succ(Succ(Succ(x5)))))) ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(new_primModNatS02(Succ(x3), Succ(x2), x3, x2))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(x3)=x12 & Succ(x2)=x13 & new_primModNatS02(x12, x13, x3, x2)=Succ(Succ(Succ(x5))) ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(new_primModNatS02(Succ(x3), Succ(x2), x3, x2))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x12, x13, x3, x2)=Succ(Succ(Succ(x5))) which results in the following new constraints: (3) (new_primModNatS01(x16, x15)=Succ(Succ(Succ(x5))) & Succ(Succ(x14))=x16 & Succ(Zero)=x15 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x14)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(new_primModNatS02(Succ(Succ(x14)), Succ(Zero), Succ(x14), Zero))))) (4) (new_primModNatS02(x20, x19, x18, x17)=Succ(Succ(Succ(x5))) & Succ(Succ(x18))=x20 & Succ(Succ(x17))=x19 & (\/x21:new_primModNatS02(x20, x19, x18, x17)=Succ(Succ(Succ(x21))) & Succ(x18)=x20 & Succ(x17)=x19 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x17))))), Integer(Neg(Succ(Succ(Succ(x18))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x17))))), Integer(Neg(new_primModNatS02(Succ(x18), Succ(x17), x18, x17))))) ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(x17)))))), Integer(Neg(Succ(Succ(Succ(Succ(x18)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x17)))))), Integer(Neg(new_primModNatS02(Succ(Succ(x18)), Succ(Succ(x17)), Succ(x18), Succ(x17)))))) (5) (new_primModNatS01(x23, x22)=Succ(Succ(Succ(x5))) & Succ(Zero)=x23 & Succ(Zero)=x22 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))))) (6) (Succ(Succ(x26))=Succ(Succ(Succ(x5))) & Succ(Zero)=x26 & Succ(Succ(x24))=x25 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(x24)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x24)))))), Integer(Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x24)), Zero, Succ(x24)))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x16, x15)=Succ(Succ(Succ(x5))) which results in the following new constraint: (7) (new_primModNatS1(new_primMinusNatS2(Succ(x28), Succ(x27)), Succ(x27))=Succ(Succ(Succ(x5))) & Succ(Succ(x14))=x28 & Succ(Zero)=x27 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x14)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(new_primModNatS02(Succ(Succ(x14)), Succ(Zero), Succ(x14), Zero))))) We simplified constraint (4) using rule (IV) which results in the following new constraint: (8) (new_primModNatS02(x20, x19, x18, x17)=Succ(Succ(Succ(x5))) & Succ(Succ(x18))=x20 & Succ(Succ(x17))=x19 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(x17)))))), Integer(Neg(Succ(Succ(Succ(Succ(x18)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x17)))))), Integer(Neg(new_primModNatS02(Succ(Succ(x18)), Succ(Succ(x17)), Succ(x18), Succ(x17)))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x23, x22)=Succ(Succ(Succ(x5))) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x47), Succ(x46)), Succ(x46))=Succ(Succ(Succ(x5))) & Succ(Zero)=x47 & Succ(Zero)=x46 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))))) We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(x24)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x24)))))), Integer(Neg(new_primModNatS02(Succ(Zero), 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, Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x14)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(new_primModNatS02(Succ(Succ(x14)), Succ(Zero), Succ(x14), Zero))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x20, x19, x18, x17)=Succ(Succ(Succ(x5))) which results in the following new constraints: (12) (new_primModNatS01(x35, x34)=Succ(Succ(Succ(x5))) & Succ(Succ(Succ(x33)))=x35 & Succ(Succ(Zero))=x34 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x33))))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(new_primModNatS02(Succ(Succ(Succ(x33))), Succ(Succ(Zero)), Succ(Succ(x33)), Succ(Zero)))))) (13) (new_primModNatS02(x39, x38, x37, x36)=Succ(Succ(Succ(x5))) & Succ(Succ(Succ(x37)))=x39 & Succ(Succ(Succ(x36)))=x38 & (\/x40:new_primModNatS02(x39, x38, x37, x36)=Succ(Succ(Succ(x40))) & Succ(Succ(x37))=x39 & Succ(Succ(x36))=x38 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(x36)))))), Integer(Neg(Succ(Succ(Succ(Succ(x37)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x36)))))), Integer(Neg(new_primModNatS02(Succ(Succ(x37)), Succ(Succ(x36)), Succ(x37), Succ(x36)))))) ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(Succ(x36))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x37))))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x36))))))), Integer(Neg(new_primModNatS02(Succ(Succ(Succ(x37))), Succ(Succ(Succ(x36))), Succ(Succ(x37)), Succ(Succ(x36))))))) (14) (new_primModNatS01(x42, x41)=Succ(Succ(Succ(x5))) & Succ(Succ(Zero))=x42 & Succ(Succ(Zero))=x41 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))))) (15) (Succ(Succ(x45))=Succ(Succ(Succ(x5))) & Succ(Succ(Zero))=x45 & Succ(Succ(Succ(x43)))=x44 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(Succ(x43))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x43))))))), Integer(Neg(new_primModNatS02(Succ(Succ(Zero)), 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, Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x33))))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(new_primModNatS02(Succ(Succ(Succ(x33))), Succ(Succ(Zero)), Succ(Succ(x33)), Succ(Zero)))))) We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: (17) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(Succ(x36))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x37))))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x36))))))), Integer(Neg(new_primModNatS02(Succ(Succ(Succ(x37))), Succ(Succ(Succ(x36))), Succ(Succ(x37)), Succ(Succ(x36))))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))))) We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(Succ(x43))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x43))))))), Integer(Neg(new_primModNatS02(Succ(Succ(Zero)), 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, Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))))) For Pair new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x6))))), Integer(Neg(Succ(Succ(Succ(x7)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x6), Succ(x7), x6, x7))), Integer(Neg(Succ(Succ(Succ(x7))))), Integer(Neg(Succ(Succ(Succ(x6)))))), new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x8))))), Integer(Neg(Succ(Succ(Succ(x9)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x8))))), Integer(Neg(new_primModNatS02(Succ(x9), Succ(x8), x9, x8)))) which results in the following constraint: (1) (new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x6), Succ(x7), x6, x7))), Integer(Neg(Succ(Succ(Succ(x7))))), Integer(Neg(Succ(Succ(Succ(x6))))))=new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x8))))), Integer(Neg(Succ(Succ(Succ(x9)))))) ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x6))))), Integer(Neg(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x6), Succ(x7), x6, x7))), Integer(Neg(Succ(Succ(Succ(x7))))), Integer(Neg(Succ(Succ(Succ(x6))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Neg(new_primModNatS02(Succ(x6), Succ(x7), x6, x7))=x52 & new_primEqInt(x52)=False ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x6))))), Integer(Neg(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x6), Succ(x7), x6, x7))), Integer(Neg(Succ(Succ(Succ(x7))))), Integer(Neg(Succ(Succ(Succ(x6))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x52)=False which results in the following new constraint: (3) (False=False & Neg(new_primModNatS02(Succ(x6), Succ(x7), x6, x7))=Neg(Succ(x53)) ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x6))))), Integer(Neg(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x6), Succ(x7), x6, x7))), Integer(Neg(Succ(Succ(Succ(x7))))), Integer(Neg(Succ(Succ(Succ(x6))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (4) (Succ(x6)=x54 & Succ(x7)=x55 & new_primModNatS02(x54, x55, x6, x7)=Succ(x53) ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x6))))), Integer(Neg(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x6), Succ(x7), x6, x7))), Integer(Neg(Succ(Succ(Succ(x7))))), Integer(Neg(Succ(Succ(Succ(x6))))))) We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x54, x55, x6, x7)=Succ(x53) which results in the following new constraints: (5) (new_primModNatS01(x58, x57)=Succ(x53) & Succ(Succ(x56))=x58 & Succ(Zero)=x57 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x56)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x56)), Succ(Zero), Succ(x56), Zero))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x56)))))))) (6) (new_primModNatS02(x62, x61, x60, x59)=Succ(x53) & Succ(Succ(x60))=x62 & Succ(Succ(x59))=x61 & (\/x63:new_primModNatS02(x62, x61, x60, x59)=Succ(x63) & Succ(x60)=x62 & Succ(x59)=x61 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x60))))), Integer(Neg(Succ(Succ(Succ(x59))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x60), Succ(x59), x60, x59))), Integer(Neg(Succ(Succ(Succ(x59))))), Integer(Neg(Succ(Succ(Succ(x60))))))) ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x60)))))), Integer(Neg(Succ(Succ(Succ(Succ(x59)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x60)), Succ(Succ(x59)), Succ(x60), Succ(x59)))), Integer(Neg(Succ(Succ(Succ(Succ(x59)))))), Integer(Neg(Succ(Succ(Succ(Succ(x60)))))))) (7) (new_primModNatS01(x65, x64)=Succ(x53) & Succ(Zero)=x65 & Succ(Zero)=x64 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) (8) (Succ(Succ(x68))=Succ(x53) & Succ(Zero)=x68 & Succ(Succ(x66))=x67 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x66)), Zero, Succ(x66)))), Integer(Neg(Succ(Succ(Succ(Succ(x66)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x58, x57)=Succ(x53) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x70), Succ(x69)), Succ(x69))=Succ(x53) & Succ(Succ(x56))=x70 & Succ(Zero)=x69 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x56)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x56)), Succ(Zero), Succ(x56), Zero))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x56)))))))) We simplified constraint (6) using rule (IV) which results in the following new constraint: (10) (new_primModNatS02(x62, x61, x60, x59)=Succ(x53) & Succ(Succ(x60))=x62 & Succ(Succ(x59))=x61 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x60)))))), Integer(Neg(Succ(Succ(Succ(Succ(x59)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x60)), Succ(Succ(x59)), Succ(x60), Succ(x59)))), Integer(Neg(Succ(Succ(Succ(Succ(x59)))))), Integer(Neg(Succ(Succ(Succ(Succ(x60)))))))) We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x65, x64)=Succ(x53) which results in the following new constraint: (11) (new_primModNatS1(new_primMinusNatS2(Succ(x89), Succ(x88)), Succ(x88))=Succ(x53) & Succ(Zero)=x89 & Succ(Zero)=x88 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) We simplified constraint (8) using rules (I), (II), (IV) which results in the following new constraint: (12) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x66)), Zero, Succ(x66)))), Integer(Neg(Succ(Succ(Succ(Succ(x66)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (13) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x56)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x56)), Succ(Zero), Succ(x56), Zero))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x56)))))))) We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x62, x61, x60, x59)=Succ(x53) which results in the following new constraints: (14) (new_primModNatS01(x77, x76)=Succ(x53) & Succ(Succ(Succ(x75)))=x77 & Succ(Succ(Zero))=x76 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x75))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x75))), Succ(Succ(Zero)), Succ(Succ(x75)), Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x75))))))))) (15) (new_primModNatS02(x81, x80, x79, x78)=Succ(x53) & Succ(Succ(Succ(x79)))=x81 & Succ(Succ(Succ(x78)))=x80 & (\/x82:new_primModNatS02(x81, x80, x79, x78)=Succ(x82) & Succ(Succ(x79))=x81 & Succ(Succ(x78))=x80 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x79)))))), Integer(Neg(Succ(Succ(Succ(Succ(x78)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x79)), Succ(Succ(x78)), Succ(x79), Succ(x78)))), Integer(Neg(Succ(Succ(Succ(Succ(x78)))))), Integer(Neg(Succ(Succ(Succ(Succ(x79)))))))) ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x79))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x78))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x79))), Succ(Succ(Succ(x78))), Succ(Succ(x79)), Succ(Succ(x78))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x78))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x79))))))))) (16) (new_primModNatS01(x84, x83)=Succ(x53) & Succ(Succ(Zero))=x84 & Succ(Succ(Zero))=x83 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) (17) (Succ(Succ(x87))=Succ(x53) & Succ(Succ(Zero))=x87 & Succ(Succ(Succ(x85)))=x86 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x85))), Succ(Zero), Succ(Succ(x85))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x85))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x75))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x75))), Succ(Succ(Zero)), Succ(Succ(x75)), Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x75))))))))) We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x79))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x78))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x79))), Succ(Succ(Succ(x78))), Succ(Succ(x79)), Succ(Succ(x78))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x78))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x79))))))))) We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: (20) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (17) using rules (I), (II), (IV) which results in the following new constraint: (21) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x85))), Succ(Zero), Succ(Succ(x85))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x85))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: (22) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) *(new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(Succ(x43))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x43))))))), Integer(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x43))), Succ(Zero), Succ(Succ(x43))))))) *(new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(x24)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x24)))))), Integer(Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x24)), Zero, Succ(x24)))))) *(new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x14)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(new_primModNatS02(Succ(Succ(x14)), Succ(Zero), Succ(x14), Zero))))) *(new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x33))))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(new_primModNatS02(Succ(Succ(Succ(x33))), Succ(Succ(Zero)), Succ(Succ(x33)), Succ(Zero)))))) *(new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(Succ(x36))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x37))))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x36))))))), Integer(Neg(new_primModNatS02(Succ(Succ(Succ(x37))), Succ(Succ(Succ(x36))), Succ(Succ(x37)), Succ(Succ(x36))))))) *(new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))))) *(new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))))) *new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x85))), Succ(Zero), Succ(Succ(x85))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x85))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x66)), Zero, Succ(x66)))), Integer(Neg(Succ(Succ(Succ(Succ(x66)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x56)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x56)), Succ(Zero), Succ(x56), Zero))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x56)))))))) *(new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x75))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x75))), Succ(Succ(Zero)), Succ(Succ(x75)), Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x75))))))))) *(new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x79))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x78))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x79))), Succ(Succ(Succ(x78))), Succ(Succ(x79)), Succ(Succ(x78))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x78))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x79))))))))) *(new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (1377) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1378) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Pos(new_primModNatS1(x0, x1)))) new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) The TRS R consists of the following rules: new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero new_error(h) -> error([]) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primEqInt(Neg(Zero)) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1379) 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. ---------------------------------------- (1380) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Pos(new_primModNatS1(x0, x1)))) new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primEqInt(Neg(Zero)) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1381) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primRemInt(Neg(x0), Neg(Zero)) ---------------------------------------- (1382) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Pos(new_primModNatS1(x0, x1)))) new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1383) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Pos(new_primModNatS1(x0, x1)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero))))) (new_gcd0Gcd'1(False, Integer(Pos(Succ(x0))), Integer(Pos(Zero))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x0))), Integer(Pos(Zero))),new_gcd0Gcd'1(False, Integer(Pos(Succ(x0))), Integer(Pos(Zero))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x0))), Integer(Pos(Zero)))) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero))))) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))))) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(new_primModNatS02(x0, x1, x0, x1))))) ---------------------------------------- (1384) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(x0))), Integer(Pos(Zero))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x0))), Integer(Pos(Zero))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1385) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1386) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1387) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Zero, Zero)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Zero, Zero))))) ---------------------------------------- (1388) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Zero, Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1389) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1390) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1391) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero))))) ---------------------------------------- (1392) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1393) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero))))) (new_gcd0Gcd'0(Integer(Pos(Zero)), Integer(Pos(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Zero)), Integer(Pos(Succ(x0))), Integer(Pos(Zero))),new_gcd0Gcd'0(Integer(Pos(Zero)), Integer(Pos(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Zero)), Integer(Pos(Succ(x0))), Integer(Pos(Zero)))) (new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero))))) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))))) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0)))))) ---------------------------------------- (1394) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'0(Integer(Pos(Zero)), Integer(Pos(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Zero)), Integer(Pos(Succ(x0))), Integer(Pos(Zero))) new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1395) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 2 less nodes. ---------------------------------------- (1396) Complex Obligation (AND) ---------------------------------------- (1397) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1398) 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. ---------------------------------------- (1399) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) The TRS R consists of the following rules: new_primEqInt(Pos(Succ(vyv38000))) -> False new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS1 -> Zero new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1400) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primMinusNatS2(Zero, Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) ---------------------------------------- (1401) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) The TRS R consists of the following rules: new_primEqInt(Pos(Succ(vyv38000))) -> False new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS1 -> Zero new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1402) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))))) ---------------------------------------- (1403) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primEqInt(Pos(Succ(vyv38000))) -> False new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS1 -> Zero new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1404) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero))))) ---------------------------------------- (1405) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) The TRS R consists of the following rules: new_primEqInt(Pos(Succ(vyv38000))) -> False new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS1 -> Zero new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1406) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))))) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero))))) ---------------------------------------- (1407) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) The TRS R consists of the following rules: new_primEqInt(Pos(Succ(vyv38000))) -> False new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS1 -> Zero new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1408) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero))))) ---------------------------------------- (1409) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) The TRS R consists of the following rules: new_primEqInt(Pos(Succ(vyv38000))) -> False new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS1 -> Zero new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1410) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Zero, Zero)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Zero, Zero))))) ---------------------------------------- (1411) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Zero, Zero)))) The TRS R consists of the following rules: new_primEqInt(Pos(Succ(vyv38000))) -> False new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS1 -> Zero new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1412) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1413) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) The TRS R consists of the following rules: new_primEqInt(Pos(Succ(vyv38000))) -> False new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS1 -> Zero new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1414) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x0))))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x0))))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0))))))) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero)))))) ---------------------------------------- (1415) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x0))))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primEqInt(Pos(Succ(vyv38000))) -> False new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS1 -> Zero new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1416) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1417) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x0))))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) The TRS R consists of the following rules: new_primEqInt(Pos(Succ(vyv38000))) -> False new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS1 -> Zero new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1418) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x0))))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x0))))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x0))))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0))))))) ---------------------------------------- (1419) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x0))))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primEqInt(Pos(Succ(vyv38000))) -> False new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS1 -> Zero new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1420) 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(Integer(x_1)) = x_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, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 2 >= 1, 3 >= 2 *new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(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(Integer(Pos(Succ(Succ(Succ(x0))))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) (allowed arguments on rhs = {2, 3}) The graph contains the following edges 2 >= 2, 1 >= 3 *new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(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, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) ---------------------------------------- (1421) YES ---------------------------------------- (1422) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1423) 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. ---------------------------------------- (1424) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1425) 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) ---------------------------------------- (1426) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1427) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Zero, Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Zero, Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero)))))) ---------------------------------------- (1428) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Zero, Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1429) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))))) ---------------------------------------- (1430) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Zero, Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1431) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Zero, Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) ---------------------------------------- (1432) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1433) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero)))))) ---------------------------------------- (1434) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1435) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))))) ---------------------------------------- (1436) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1437) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) ---------------------------------------- (1438) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1439) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))))) ---------------------------------------- (1440) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1441) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) ---------------------------------------- (1442) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1443) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Zero)), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Zero)), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) ---------------------------------------- (1444) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Zero)), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1445) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1446) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1447) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS01(Succ(x2), Zero)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS01(Succ(x2), Zero))))) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))))) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS01(Zero, Zero)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS01(Zero, Zero))))) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero)))))) ---------------------------------------- (1448) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS01(Succ(x2), Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS01(Zero, Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1449) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. ---------------------------------------- (1450) Complex Obligation (AND) ---------------------------------------- (1451) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS01(Succ(x2), Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1452) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS01(Succ(x2), Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))))) ---------------------------------------- (1453) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1454) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))))) ---------------------------------------- (1455) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1456) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))))) ---------------------------------------- (1457) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1458) 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(Neg(Zero)) new_primEqInt(Neg(Succ(x0))) ---------------------------------------- (1459) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) We have to consider all (P,Q,R)-chains. ---------------------------------------- (1460) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x1))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x1))))), Integer(Pos(Succ(Succ(Zero))))), new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) which results in the following constraint: (1) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x1))))), Integer(Pos(Succ(Succ(Zero)))))=new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x1))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x1))))), Integer(Pos(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x1))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x1))))), Integer(Pos(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x8))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x8), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x8)))))), new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x9)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x9), Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x8), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x8))))))=new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x9)))))) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x8))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x8), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(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(Zero)))=x20 & new_primEqInt(x20)=False ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x8))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x8), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x8))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x20)=False which results in the following new constraint: (3) (False=False & Pos(new_primModNatS1(Succ(x8), Succ(Zero)))=Pos(Succ(x21)) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x8))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x8), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x8))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (4) (Succ(x8)=x22 & Succ(Zero)=x23 & new_primModNatS1(x22, x23)=Succ(x21) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x8))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x8), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x8))))))) We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x22, x23)=Succ(x21) which results in the following new constraints: (5) (new_primModNatS02(x25, x24, x25, x24)=Succ(x21) & Succ(x8)=Succ(Succ(x25)) & Succ(Zero)=Succ(x24) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x8))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x8), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x8))))))) (6) (Succ(Zero)=Succ(x21) & Succ(x8)=Succ(Zero) & Succ(Zero)=Succ(x26) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x8))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x8), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x8))))))) We simplified constraint (5) using rules (I), (II), (III), (VII) which results in the following new constraint: (7) (x25=x28 & x24=x29 & new_primModNatS02(x25, x24, x28, x29)=Succ(x21) & Zero=x24 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x25)))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x25)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x25)))))))) We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: (8) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))))) We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x25, x24, x28, x29)=Succ(x21) which results in the following new constraints: (9) (new_primModNatS01(x32, x31)=Succ(x21) & x32=Succ(x30) & x31=Zero & Zero=x31 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x32)))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x32)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x32)))))))) (10) (new_primModNatS02(x36, x35, x34, x33)=Succ(x21) & x36=Succ(x34) & x35=Succ(x33) & Zero=x35 & (\/x37:new_primModNatS02(x36, x35, x34, x33)=Succ(x37) & x36=x34 & x35=x33 & Zero=x35 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x36)))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x36)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x36)))))))) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x36)))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x36)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x36)))))))) (11) (new_primModNatS01(x39, x38)=Succ(x21) & x39=Zero & x38=Zero & Zero=x38 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x39)))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x39)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x39)))))))) (12) (Succ(Succ(x42))=Succ(x21) & x42=Zero & x41=Succ(x40) & Zero=x41 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x42)))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x42)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x42)))))))) We simplified constraint (9) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (13) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x30))))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Succ(Succ(x30))), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x30))))))))) We solved constraint (10) using rules (I), (II), (III).We simplified constraint (11) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (14) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) We solved constraint (12) using rules (I), (II), (III), (IV). For Pair new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x10)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x10))))), Integer(Pos(Succ(Succ(Zero))))), new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x11))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x11))))), Integer(Pos(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x10))))), Integer(Pos(Succ(Succ(Zero)))))=new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x11))))), Integer(Pos(Succ(Succ(Zero))))) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x10))))), Integer(Pos(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x10))))), Integer(Pos(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x17)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x17), Succ(Zero))))), new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x18)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x18))))), Integer(Pos(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x17), Succ(Zero)))))=new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x18)))))) ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x17), Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: (2) (Succ(x17)=x47 & Succ(Zero)=x48 & new_primModNatS1(x47, x48)=Succ(Succ(Succ(x18))) ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x17), Succ(Zero)))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x47, x48)=Succ(Succ(Succ(x18))) which results in the following new constraints: (3) (new_primModNatS02(x50, x49, x50, x49)=Succ(Succ(Succ(x18))) & Succ(x17)=Succ(Succ(x50)) & Succ(Zero)=Succ(x49) ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x17), Succ(Zero)))))) (4) (Succ(Zero)=Succ(Succ(Succ(x18))) & Succ(x17)=Succ(Zero) & Succ(Zero)=Succ(x51) ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x17), Succ(Zero)))))) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (5) (x50=x53 & x49=x54 & new_primModNatS02(x50, x49, x53, x54)=Succ(Succ(Succ(x18))) & Zero=x49 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x50)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(Succ(x50)), Succ(Zero)))))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x50, x49, x53, x54)=Succ(Succ(Succ(x18))) which results in the following new constraints: (6) (new_primModNatS01(x57, x56)=Succ(Succ(Succ(x18))) & x57=Succ(x55) & x56=Zero & Zero=x56 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x57)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(Succ(x57)), Succ(Zero)))))) (7) (new_primModNatS02(x61, x60, x59, x58)=Succ(Succ(Succ(x18))) & x61=Succ(x59) & x60=Succ(x58) & Zero=x60 & (\/x62:new_primModNatS02(x61, x60, x59, x58)=Succ(Succ(Succ(x62))) & x61=x59 & x60=x58 & Zero=x60 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x61)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(Succ(x61)), Succ(Zero)))))) ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x61)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(Succ(x61)), Succ(Zero)))))) (8) (new_primModNatS01(x64, x63)=Succ(Succ(Succ(x18))) & x64=Zero & x63=Zero & Zero=x63 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x64)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(Succ(x64)), Succ(Zero)))))) (9) (Succ(Succ(x67))=Succ(Succ(Succ(x18))) & x67=Zero & x66=Succ(x65) & Zero=x66 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x67)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(Succ(x67)), Succ(Zero)))))) We simplified constraint (6) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (10) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x55))))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(Succ(Succ(x55))), Succ(Zero)))))) We solved constraint (7) using rules (I), (II), (III).We simplified constraint (8) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (11) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero)))))) We solved constraint (9) using rules (I), (II), (III). To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) *(new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x1))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x1))))), Integer(Pos(Succ(Succ(Zero)))))) *new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x30))))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Succ(Succ(x30))), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x30))))))))) *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) *new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x10))))), Integer(Pos(Succ(Succ(Zero)))))) *new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) *(new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x55))))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(Succ(Succ(x55))), Succ(Zero)))))) *(new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(Succ(Zero)), 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. ---------------------------------------- (1461) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1462) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1463) 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(Neg(Zero)) new_primEqInt(Neg(Succ(x0))) ---------------------------------------- (1464) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) We have to consider all (P,Q,R)-chains. ---------------------------------------- (1465) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(new_primModNatS02(Succ(x3), Succ(x2), x3, x2)))), new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x4))))), Integer(Pos(Succ(Succ(Succ(x5)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x4), Succ(x5), x4, x5))), Integer(Pos(Succ(Succ(Succ(x5))))), Integer(Pos(Succ(Succ(Succ(x4)))))) which results in the following constraint: (1) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(new_primModNatS02(Succ(x3), Succ(x2), x3, x2))))=new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x4))))), Integer(Pos(Succ(Succ(Succ(x5)))))) ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(new_primModNatS02(Succ(x3), Succ(x2), x3, x2))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(x3)=x12 & Succ(x2)=x13 & new_primModNatS02(x12, x13, x3, x2)=Succ(Succ(Succ(x5))) ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(new_primModNatS02(Succ(x3), Succ(x2), x3, x2))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x12, x13, x3, x2)=Succ(Succ(Succ(x5))) which results in the following new constraints: (3) (new_primModNatS01(x16, x15)=Succ(Succ(Succ(x5))) & Succ(Succ(x14))=x16 & Succ(Zero)=x15 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x14)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Zero), Succ(x14), Zero))))) (4) (new_primModNatS02(x20, x19, x18, x17)=Succ(Succ(Succ(x5))) & Succ(Succ(x18))=x20 & Succ(Succ(x17))=x19 & (\/x21:new_primModNatS02(x20, x19, x18, x17)=Succ(Succ(Succ(x21))) & Succ(x18)=x20 & Succ(x17)=x19 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x17))))), Integer(Pos(Succ(Succ(Succ(x18))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x17))))), Integer(Pos(new_primModNatS02(Succ(x18), Succ(x17), x18, x17))))) ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(x17)))))), Integer(Pos(Succ(Succ(Succ(Succ(x18)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x17)))))), Integer(Pos(new_primModNatS02(Succ(Succ(x18)), Succ(Succ(x17)), Succ(x18), Succ(x17)))))) (5) (new_primModNatS01(x23, x22)=Succ(Succ(Succ(x5))) & Succ(Zero)=x23 & Succ(Zero)=x22 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))))) (6) (Succ(Succ(x26))=Succ(Succ(Succ(x5))) & Succ(Zero)=x26 & Succ(Succ(x24))=x25 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(x24)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x24)))))), Integer(Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x24)), Zero, Succ(x24)))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x16, x15)=Succ(Succ(Succ(x5))) which results in the following new constraint: (7) (new_primModNatS1(new_primMinusNatS2(Succ(x28), Succ(x27)), Succ(x27))=Succ(Succ(Succ(x5))) & Succ(Succ(x14))=x28 & Succ(Zero)=x27 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x14)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Zero), Succ(x14), Zero))))) We simplified constraint (4) using rule (IV) which results in the following new constraint: (8) (new_primModNatS02(x20, x19, x18, x17)=Succ(Succ(Succ(x5))) & Succ(Succ(x18))=x20 & Succ(Succ(x17))=x19 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(x17)))))), Integer(Pos(Succ(Succ(Succ(Succ(x18)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x17)))))), Integer(Pos(new_primModNatS02(Succ(Succ(x18)), Succ(Succ(x17)), Succ(x18), Succ(x17)))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x23, x22)=Succ(Succ(Succ(x5))) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x47), Succ(x46)), Succ(x46))=Succ(Succ(Succ(x5))) & Succ(Zero)=x47 & Succ(Zero)=x46 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))))) We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(x24)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x24)))))), Integer(Pos(new_primModNatS02(Succ(Zero), 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, Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x14)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Zero), Succ(x14), Zero))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x20, x19, x18, x17)=Succ(Succ(Succ(x5))) which results in the following new constraints: (12) (new_primModNatS01(x35, x34)=Succ(Succ(Succ(x5))) & Succ(Succ(Succ(x33)))=x35 & Succ(Succ(Zero))=x34 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x33))))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(new_primModNatS02(Succ(Succ(Succ(x33))), Succ(Succ(Zero)), Succ(Succ(x33)), Succ(Zero)))))) (13) (new_primModNatS02(x39, x38, x37, x36)=Succ(Succ(Succ(x5))) & Succ(Succ(Succ(x37)))=x39 & Succ(Succ(Succ(x36)))=x38 & (\/x40:new_primModNatS02(x39, x38, x37, x36)=Succ(Succ(Succ(x40))) & Succ(Succ(x37))=x39 & Succ(Succ(x36))=x38 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(x36)))))), Integer(Pos(Succ(Succ(Succ(Succ(x37)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x36)))))), Integer(Pos(new_primModNatS02(Succ(Succ(x37)), Succ(Succ(x36)), Succ(x37), Succ(x36)))))) ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(Succ(x36))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x37))))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x36))))))), Integer(Pos(new_primModNatS02(Succ(Succ(Succ(x37))), Succ(Succ(Succ(x36))), Succ(Succ(x37)), Succ(Succ(x36))))))) (14) (new_primModNatS01(x42, x41)=Succ(Succ(Succ(x5))) & Succ(Succ(Zero))=x42 & Succ(Succ(Zero))=x41 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))))) (15) (Succ(Succ(x45))=Succ(Succ(Succ(x5))) & Succ(Succ(Zero))=x45 & Succ(Succ(Succ(x43)))=x44 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(Succ(x43))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x43))))))), Integer(Pos(new_primModNatS02(Succ(Succ(Zero)), 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, Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x33))))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(new_primModNatS02(Succ(Succ(Succ(x33))), Succ(Succ(Zero)), Succ(Succ(x33)), Succ(Zero)))))) We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: (17) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(Succ(x36))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x37))))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x36))))))), Integer(Pos(new_primModNatS02(Succ(Succ(Succ(x37))), Succ(Succ(Succ(x36))), Succ(Succ(x37)), Succ(Succ(x36))))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))))) We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(Succ(x43))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x43))))))), Integer(Pos(new_primModNatS02(Succ(Succ(Zero)), 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, Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))))) For Pair new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x6))))), Integer(Pos(Succ(Succ(Succ(x7)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x6), Succ(x7), x6, x7))), Integer(Pos(Succ(Succ(Succ(x7))))), Integer(Pos(Succ(Succ(Succ(x6)))))), new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x8))))), Integer(Pos(Succ(Succ(Succ(x9)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x8))))), Integer(Pos(new_primModNatS02(Succ(x9), Succ(x8), x9, x8)))) which results in the following constraint: (1) (new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x6), Succ(x7), x6, x7))), Integer(Pos(Succ(Succ(Succ(x7))))), Integer(Pos(Succ(Succ(Succ(x6))))))=new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x8))))), Integer(Pos(Succ(Succ(Succ(x9)))))) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x6))))), Integer(Pos(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x6), Succ(x7), x6, x7))), Integer(Pos(Succ(Succ(Succ(x7))))), Integer(Pos(Succ(Succ(Succ(x6))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Pos(new_primModNatS02(Succ(x6), Succ(x7), x6, x7))=x52 & new_primEqInt(x52)=False ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x6))))), Integer(Pos(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x6), Succ(x7), x6, x7))), Integer(Pos(Succ(Succ(Succ(x7))))), Integer(Pos(Succ(Succ(Succ(x6))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x52)=False which results in the following new constraint: (3) (False=False & Pos(new_primModNatS02(Succ(x6), Succ(x7), x6, x7))=Pos(Succ(x53)) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x6))))), Integer(Pos(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x6), Succ(x7), x6, x7))), Integer(Pos(Succ(Succ(Succ(x7))))), Integer(Pos(Succ(Succ(Succ(x6))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (4) (Succ(x6)=x54 & Succ(x7)=x55 & new_primModNatS02(x54, x55, x6, x7)=Succ(x53) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x6))))), Integer(Pos(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x6), Succ(x7), x6, x7))), Integer(Pos(Succ(Succ(Succ(x7))))), Integer(Pos(Succ(Succ(Succ(x6))))))) We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x54, x55, x6, x7)=Succ(x53) which results in the following new constraints: (5) (new_primModNatS01(x58, x57)=Succ(x53) & Succ(Succ(x56))=x58 & Succ(Zero)=x57 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x56)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x56)), Succ(Zero), Succ(x56), Zero))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x56)))))))) (6) (new_primModNatS02(x62, x61, x60, x59)=Succ(x53) & Succ(Succ(x60))=x62 & Succ(Succ(x59))=x61 & (\/x63:new_primModNatS02(x62, x61, x60, x59)=Succ(x63) & Succ(x60)=x62 & Succ(x59)=x61 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x60))))), Integer(Pos(Succ(Succ(Succ(x59))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x60), Succ(x59), x60, x59))), Integer(Pos(Succ(Succ(Succ(x59))))), Integer(Pos(Succ(Succ(Succ(x60))))))) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x60)))))), Integer(Pos(Succ(Succ(Succ(Succ(x59)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x60)), Succ(Succ(x59)), Succ(x60), Succ(x59)))), Integer(Pos(Succ(Succ(Succ(Succ(x59)))))), Integer(Pos(Succ(Succ(Succ(Succ(x60)))))))) (7) (new_primModNatS01(x65, x64)=Succ(x53) & Succ(Zero)=x65 & Succ(Zero)=x64 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) (8) (Succ(Succ(x68))=Succ(x53) & Succ(Zero)=x68 & Succ(Succ(x66))=x67 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x66)), Zero, Succ(x66)))), Integer(Pos(Succ(Succ(Succ(Succ(x66)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x58, x57)=Succ(x53) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x70), Succ(x69)), Succ(x69))=Succ(x53) & Succ(Succ(x56))=x70 & Succ(Zero)=x69 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x56)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x56)), Succ(Zero), Succ(x56), Zero))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x56)))))))) We simplified constraint (6) using rule (IV) which results in the following new constraint: (10) (new_primModNatS02(x62, x61, x60, x59)=Succ(x53) & Succ(Succ(x60))=x62 & Succ(Succ(x59))=x61 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x60)))))), Integer(Pos(Succ(Succ(Succ(Succ(x59)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x60)), Succ(Succ(x59)), Succ(x60), Succ(x59)))), Integer(Pos(Succ(Succ(Succ(Succ(x59)))))), Integer(Pos(Succ(Succ(Succ(Succ(x60)))))))) We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x65, x64)=Succ(x53) which results in the following new constraint: (11) (new_primModNatS1(new_primMinusNatS2(Succ(x89), Succ(x88)), Succ(x88))=Succ(x53) & Succ(Zero)=x89 & Succ(Zero)=x88 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) We simplified constraint (8) using rules (I), (II), (IV) which results in the following new constraint: (12) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x66)), Zero, Succ(x66)))), Integer(Pos(Succ(Succ(Succ(Succ(x66)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (13) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x56)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x56)), Succ(Zero), Succ(x56), Zero))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x56)))))))) We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x62, x61, x60, x59)=Succ(x53) which results in the following new constraints: (14) (new_primModNatS01(x77, x76)=Succ(x53) & Succ(Succ(Succ(x75)))=x77 & Succ(Succ(Zero))=x76 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x75))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x75))), Succ(Succ(Zero)), Succ(Succ(x75)), Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x75))))))))) (15) (new_primModNatS02(x81, x80, x79, x78)=Succ(x53) & Succ(Succ(Succ(x79)))=x81 & Succ(Succ(Succ(x78)))=x80 & (\/x82:new_primModNatS02(x81, x80, x79, x78)=Succ(x82) & Succ(Succ(x79))=x81 & Succ(Succ(x78))=x80 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x79)))))), Integer(Pos(Succ(Succ(Succ(Succ(x78)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x79)), Succ(Succ(x78)), Succ(x79), Succ(x78)))), Integer(Pos(Succ(Succ(Succ(Succ(x78)))))), Integer(Pos(Succ(Succ(Succ(Succ(x79)))))))) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x79))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x78))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x79))), Succ(Succ(Succ(x78))), Succ(Succ(x79)), Succ(Succ(x78))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x78))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x79))))))))) (16) (new_primModNatS01(x84, x83)=Succ(x53) & Succ(Succ(Zero))=x84 & Succ(Succ(Zero))=x83 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) (17) (Succ(Succ(x87))=Succ(x53) & Succ(Succ(Zero))=x87 & Succ(Succ(Succ(x85)))=x86 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x85))), Succ(Zero), Succ(Succ(x85))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x85))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x75))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x75))), Succ(Succ(Zero)), Succ(Succ(x75)), Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x75))))))))) We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x79))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x78))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x79))), Succ(Succ(Succ(x78))), Succ(Succ(x79)), Succ(Succ(x78))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x78))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x79))))))))) We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: (20) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (17) using rules (I), (II), (IV) which results in the following new constraint: (21) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x85))), Succ(Zero), Succ(Succ(x85))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x85))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: (22) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) *(new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(Succ(x43))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x43))))))), Integer(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x43))), Succ(Zero), Succ(Succ(x43))))))) *(new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(x24)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x24)))))), Integer(Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x24)), Zero, Succ(x24)))))) *(new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x14)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Zero), Succ(x14), Zero))))) *(new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x33))))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(new_primModNatS02(Succ(Succ(Succ(x33))), Succ(Succ(Zero)), Succ(Succ(x33)), Succ(Zero)))))) *(new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(Succ(x36))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x37))))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x36))))))), Integer(Pos(new_primModNatS02(Succ(Succ(Succ(x37))), Succ(Succ(Succ(x36))), Succ(Succ(x37)), Succ(Succ(x36))))))) *(new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))))) *(new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))))) *new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x85))), Succ(Zero), Succ(Succ(x85))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x85))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x66)), Zero, Succ(x66)))), Integer(Pos(Succ(Succ(Succ(Succ(x66)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x56)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x56)), Succ(Zero), Succ(x56), Zero))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x56)))))))) *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x75))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x75))), Succ(Succ(Zero)), Succ(Succ(x75)), Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x75))))))))) *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x79))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x78))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x79))), Succ(Succ(Succ(x78))), Succ(Succ(x79)), Succ(Succ(x78))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x78))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x79))))))))) *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (1466) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1467) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'0(Integer(Neg(Succ(x1))), Integer(Pos(new_primModNatS1(x0, x1)))) new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) The TRS R consists of the following rules: new_primRemInt(Pos(vyv3450), Neg(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Succ(vyv34400))) -> Pos(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Neg(vyv3450), Pos(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primRemInt(Pos(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Pos(vyv3450), Neg(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Pos(Zero)) -> new_error(ty_Int) new_primRemInt(Neg(vyv3450), Neg(Succ(vyv34400))) -> Neg(new_primModNatS1(vyv3450, vyv34400)) new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primMinusNatS1 -> Zero new_error(h) -> error([]) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primEqInt(Neg(Zero)) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1468) 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. ---------------------------------------- (1469) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'0(Integer(Neg(Succ(x1))), Integer(Pos(new_primModNatS1(x0, x1)))) new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primEqInt(Neg(Zero)) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1470) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error(x0) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primRemInt(Neg(x0), Neg(Zero)) ---------------------------------------- (1471) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'0(Integer(Neg(Succ(x1))), Integer(Pos(new_primModNatS1(x0, x1)))) new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1472) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'0(Integer(Neg(Succ(x1))), Integer(Pos(new_primModNatS1(x0, x1)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero))))) (new_gcd0Gcd'1(False, Integer(Neg(Succ(x0))), Integer(Pos(Zero))) -> new_gcd0Gcd'0(Integer(Neg(Succ(x0))), Integer(Pos(Zero))),new_gcd0Gcd'1(False, Integer(Neg(Succ(x0))), Integer(Pos(Zero))) -> new_gcd0Gcd'0(Integer(Neg(Succ(x0))), Integer(Pos(Zero)))) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero))))) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))))) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(new_primModNatS02(x0, x1, x0, x1))))) ---------------------------------------- (1473) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(x0))), Integer(Pos(Zero))) -> new_gcd0Gcd'0(Integer(Neg(Succ(x0))), Integer(Pos(Zero))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1474) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1475) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1476) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Zero, Zero)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Zero, Zero))))) ---------------------------------------- (1477) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Zero, Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1478) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1479) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1480) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero))))) ---------------------------------------- (1481) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1482) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(x0)), Integer(Neg(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(x0, x1))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero))))) (new_gcd0Gcd'0(Integer(Pos(Zero)), Integer(Neg(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Zero)), Integer(Neg(Succ(x0))), Integer(Pos(Zero))),new_gcd0Gcd'0(Integer(Pos(Zero)), Integer(Neg(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Zero)), Integer(Neg(Succ(x0))), Integer(Pos(Zero)))) (new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero))))) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))))) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0)))))) ---------------------------------------- (1483) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'0(Integer(Pos(Zero)), Integer(Neg(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Zero)), Integer(Neg(Succ(x0))), Integer(Pos(Zero))) new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1484) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. ---------------------------------------- (1485) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1486) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero))))) ---------------------------------------- (1487) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1488) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))))) ---------------------------------------- (1489) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1490) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(x0, x1))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero))))) (new_gcd0Gcd'0(Integer(Neg(Zero)), Integer(Pos(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero)), Integer(Pos(Succ(x0))), Integer(Neg(Zero))),new_gcd0Gcd'0(Integer(Neg(Zero)), Integer(Pos(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero)), Integer(Pos(Succ(x0))), Integer(Neg(Zero)))) (new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero))))) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))))) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0)))))) ---------------------------------------- (1491) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'0(Integer(Neg(Zero)), Integer(Pos(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero)), Integer(Pos(Succ(x0))), Integer(Neg(Zero))) new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1492) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1493) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1494) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))))) ---------------------------------------- (1495) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1496) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero))))) ---------------------------------------- (1497) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1498) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero))))) ---------------------------------------- (1499) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1500) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero)), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero)), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero))))) ---------------------------------------- (1501) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero)), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1502) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1503) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1504) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS01(Succ(x2), Zero)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS01(Succ(x2), Zero))))) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))))) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS01(Zero, Zero)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS01(Zero, Zero))))) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero)))))) ---------------------------------------- (1505) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS01(Succ(x2), Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS01(Zero, Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1506) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS01(Succ(x2), Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))))) ---------------------------------------- (1507) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS01(Zero, Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1508) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS01(Zero, Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))))) ---------------------------------------- (1509) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1510) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))))) ---------------------------------------- (1511) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1512) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))))) ---------------------------------------- (1513) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1514) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))))) ---------------------------------------- (1515) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1516) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Zero, Succ(Zero))))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Zero, Succ(Zero)))))) ---------------------------------------- (1517) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Zero, Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1518) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1519) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1520) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x1))), Integer(Neg(new_primModNatS1(x0, x1)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero))))) (new_gcd0Gcd'1(False, Integer(Pos(Succ(x0))), Integer(Neg(Zero))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x0))), Integer(Neg(Zero))),new_gcd0Gcd'1(False, Integer(Pos(Succ(x0))), Integer(Neg(Zero))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x0))), Integer(Neg(Zero)))) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero))))) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))))) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(new_primModNatS02(x0, x1, x0, x1)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(new_primModNatS02(x0, x1, x0, x1))))) ---------------------------------------- (1521) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(x0))), Integer(Neg(Zero))) -> new_gcd0Gcd'0(Integer(Pos(Succ(x0))), Integer(Neg(Zero))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(new_primModNatS02(x0, x1, x0, x1)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1522) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 2 less nodes. ---------------------------------------- (1523) Complex Obligation (AND) ---------------------------------------- (1524) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1525) 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. ---------------------------------------- (1526) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1527) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primMinusNatS2(Zero, Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) ---------------------------------------- (1528) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1529) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))))) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero))))) ---------------------------------------- (1530) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1531) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero))))) ---------------------------------------- (1532) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1533) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Zero, Zero)))),new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Zero, Zero))))) ---------------------------------------- (1534) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Zero, Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1535) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1536) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1537) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x0))))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x0))))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0))))))) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero)))))) ---------------------------------------- (1538) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x0))))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1539) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1540) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x0))))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1541) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x0))))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x0))))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x0))))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0))))))) ---------------------------------------- (1542) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x0))))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1543) 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(Integer(x_1)) = x_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'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) (allowed arguments on rhs = {2, 3}) The graph contains the following edges 2 >= 2, 1 >= 3 *new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x0))))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) (allowed arguments on rhs = {2, 3}) The graph contains the following edges 2 >= 2, 1 >= 3 *new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 2 >= 1, 3 >= 2 *new_gcd0Gcd'1(False, Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(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, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) ---------------------------------------- (1544) YES ---------------------------------------- (1545) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1546) 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. ---------------------------------------- (1547) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1548) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1) new_primMinusNatS2(Zero, Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) ---------------------------------------- (1549) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1550) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero))))) ---------------------------------------- (1551) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1552) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x0))))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x0))))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0))))))) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (1553) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x0))))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1554) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x0))))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x0))))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x0))))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0))))))) ---------------------------------------- (1555) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x0))))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1556) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (1557) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x0))))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1558) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero)), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero)), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (1559) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x0))))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero)), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1560) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1561) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x0))))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1562) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))))) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero))))) ---------------------------------------- (1563) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x0))))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1564) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1565) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x0))))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1566) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero))))) ---------------------------------------- (1567) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x0))))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1568) 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(Integer(x_1)) = x_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'1(False, Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(new_primModNatS1(Succ(x0), Zero)))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 2 >= 1, 3 > 2 *new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 2 >= 1, 3 >= 2 *new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x0))))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) (allowed arguments on rhs = {2, 3}) The graph contains the following edges 2 >= 2, 1 >= 3 *new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(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, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) ---------------------------------------- (1569) YES ---------------------------------------- (1570) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Zero, vyv34400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv345000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv345000), Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv2220000) -> Succ(vyv2220000) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1571) 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. ---------------------------------------- (1572) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS0(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1573) 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) ---------------------------------------- (1574) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1575) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Zero, Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Zero, Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (1576) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Zero, Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1577) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Succ(x2), Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))))) ---------------------------------------- (1578) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Zero, Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1579) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS01(Zero, Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (1580) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1581) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (1582) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1583) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))))) ---------------------------------------- (1584) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1585) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (1586) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1587) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))))) ---------------------------------------- (1588) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1589) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (1590) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1591) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero)), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero)), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (1592) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Zero)), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1593) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1594) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(new_primModNatS02(x0, x1, x0, x1)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1595) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(new_primModNatS02(x0, x1, x0, x1)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS01(Succ(x2), Zero)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS01(Succ(x2), Zero))))) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))))) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS01(Zero, Zero)))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS01(Zero, Zero))))) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (1596) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS01(Succ(x2), Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS01(Zero, Zero)))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1597) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1598) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS01(Succ(x2), Zero)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1599) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS01(Succ(x2), Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))))) ---------------------------------------- (1600) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1601) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))))) ---------------------------------------- (1602) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1603) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))),new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))))) ---------------------------------------- (1604) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1605) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Succ(x1))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Zero, Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Zero, Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero)))))) ---------------------------------------- (1606) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Zero, Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1607) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 1 less node. ---------------------------------------- (1608) Complex Obligation (AND) ---------------------------------------- (1609) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1610) 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. ---------------------------------------- (1611) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1612) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS01(Succ(x2), Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))))) ---------------------------------------- (1613) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1614) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))))) ---------------------------------------- (1615) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1616) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))))) ---------------------------------------- (1617) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1618) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x1)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x1))))), Integer(Neg(Succ(Succ(Zero))))), new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x1))))), Integer(Neg(Succ(Succ(Zero)))))=new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x1))))), Integer(Neg(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x1))))), Integer(Neg(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x8))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x8))))), Integer(Neg(Succ(Succ(Zero))))), new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x9))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x9), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x9)))))) which results in the following constraint: (1) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x8))))), Integer(Neg(Succ(Succ(Zero)))))=new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x9))))), Integer(Neg(Succ(Succ(Zero))))) ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x8))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x8))))), Integer(Neg(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x8))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x8))))), Integer(Neg(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x10)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x10), Succ(Zero))))), new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x11)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x11))))), Integer(Neg(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x10), Succ(Zero)))))=new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x11)))))) ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x10), Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: (2) (Succ(x10)=x20 & Succ(Zero)=x21 & new_primModNatS1(x20, x21)=Succ(Succ(Succ(x11))) ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x10), Succ(Zero)))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x20, x21)=Succ(Succ(Succ(x11))) which results in the following new constraints: (3) (Succ(Zero)=Succ(Succ(Succ(x11))) & Succ(x10)=Succ(Zero) & Succ(Zero)=Succ(x22) ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x10), Succ(Zero)))))) (4) (new_primModNatS02(x24, x23, x24, x23)=Succ(Succ(Succ(x11))) & Succ(x10)=Succ(Succ(x24)) & Succ(Zero)=Succ(x23) ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x10), Succ(Zero)))))) We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (III), (VII) which results in the following new constraint: (5) (x24=x26 & x23=x27 & new_primModNatS02(x24, x23, x26, x27)=Succ(Succ(Succ(x11))) & Zero=x23 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x24)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(Succ(x24)), Succ(Zero)))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x24, x23, x26, x27)=Succ(Succ(Succ(x11))) which results in the following new constraints: (6) (new_primModNatS01(x30, x29)=Succ(Succ(Succ(x11))) & x30=Succ(x28) & x29=Zero & Zero=x29 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x30)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(Succ(x30)), Succ(Zero)))))) (7) (new_primModNatS02(x34, x33, x32, x31)=Succ(Succ(Succ(x11))) & x34=Succ(x32) & x33=Succ(x31) & Zero=x33 & (\/x35:new_primModNatS02(x34, x33, x32, x31)=Succ(Succ(Succ(x35))) & x34=x32 & x33=x31 & Zero=x33 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x34)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(Succ(x34)), Succ(Zero)))))) ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x34)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(Succ(x34)), Succ(Zero)))))) (8) (new_primModNatS01(x37, x36)=Succ(Succ(Succ(x11))) & x37=Zero & x36=Zero & Zero=x36 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x37)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(Succ(x37)), Succ(Zero)))))) (9) (Succ(Succ(x40))=Succ(Succ(Succ(x11))) & x40=Zero & x39=Succ(x38) & Zero=x39 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x40)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(Succ(x40)), Succ(Zero)))))) We simplified constraint (6) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (10) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x28))))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(Succ(Succ(x28))), Succ(Zero)))))) We solved constraint (7) using rules (I), (II), (III).We simplified constraint (8) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (11) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero)))))) We solved constraint (9) using rules (I), (II), (III). For Pair new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x17))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x17), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x17)))))), new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x18)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x18), Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x17), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x17))))))=new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x18)))))) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x17))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x17), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x17))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Pos(new_primModNatS1(Succ(x17), Succ(Zero)))=x45 & new_primEqInt(x45)=False ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x17))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x17), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x17))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x45)=False which results in the following new constraint: (3) (False=False & Pos(new_primModNatS1(Succ(x17), Succ(Zero)))=Pos(Succ(x46)) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x17))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x17), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x17))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (4) (Succ(x17)=x47 & Succ(Zero)=x48 & new_primModNatS1(x47, x48)=Succ(x46) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x17))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x17), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x17))))))) We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x47, x48)=Succ(x46) which results in the following new constraints: (5) (Succ(Zero)=Succ(x46) & Succ(x17)=Succ(Zero) & Succ(Zero)=Succ(x49) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x17))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x17), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x17))))))) (6) (new_primModNatS02(x51, x50, x51, x50)=Succ(x46) & Succ(x17)=Succ(Succ(x51)) & Succ(Zero)=Succ(x50) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x17))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x17), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x17))))))) We simplified constraint (5) using rules (I), (II), (III), (IV) which results in the following new constraint: (7) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))))) We simplified constraint (6) using rules (I), (II), (III), (VII) which results in the following new constraint: (8) (x51=x53 & x50=x54 & new_primModNatS02(x51, x50, x53, x54)=Succ(x46) & Zero=x50 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x51)))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x51)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x51)))))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x51, x50, x53, x54)=Succ(x46) which results in the following new constraints: (9) (new_primModNatS01(x57, x56)=Succ(x46) & x57=Succ(x55) & x56=Zero & Zero=x56 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x57)))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x57)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x57)))))))) (10) (new_primModNatS02(x61, x60, x59, x58)=Succ(x46) & x61=Succ(x59) & x60=Succ(x58) & Zero=x60 & (\/x62:new_primModNatS02(x61, x60, x59, x58)=Succ(x62) & x61=x59 & x60=x58 & Zero=x60 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x61)))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x61)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x61)))))))) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x61)))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x61)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x61)))))))) (11) (new_primModNatS01(x64, x63)=Succ(x46) & x64=Zero & x63=Zero & Zero=x63 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x64)))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x64)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x64)))))))) (12) (Succ(Succ(x67))=Succ(x46) & x67=Zero & x66=Succ(x65) & Zero=x66 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x67)))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x67)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x67)))))))) We simplified constraint (9) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (13) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x55))))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Succ(Succ(x55))), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x55))))))))) We solved constraint (10) using rules (I), (II), (III).We simplified constraint (11) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (14) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) We solved constraint (12) using rules (I), (II), (III), (IV). To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) *(new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x1))))), Integer(Neg(Succ(Succ(Zero)))))) *new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) *(new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x8))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x8))))), Integer(Neg(Succ(Succ(Zero)))))) *new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) *(new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x28))))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(Succ(Succ(x28))), Succ(Zero)))))) *(new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero)))))) *new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x55))))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Succ(Succ(x55))), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x55))))))))) *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (1619) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1620) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1621) 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. ---------------------------------------- (1622) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1623) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero)))))) ---------------------------------------- (1624) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1625) 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. ---------------------------------------- (1626) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1627) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x3), Succ(Zero))))), new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x4)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x4))))), Integer(Pos(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x3), Succ(Zero)))))=new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x4)))))) ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x3), Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: (2) (Succ(x3)=x20 & Succ(Zero)=x21 & new_primModNatS1(x20, x21)=Succ(Succ(Succ(x4))) ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x3), Succ(Zero)))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x20, x21)=Succ(Succ(Succ(x4))) which results in the following new constraints: (3) (Succ(Zero)=Succ(Succ(Succ(x4))) & Succ(x3)=Succ(Zero) & Succ(Zero)=Succ(x22) ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x3), Succ(Zero)))))) (4) (new_primModNatS02(x24, x23, x24, x23)=Succ(Succ(Succ(x4))) & Succ(x3)=Succ(Succ(x24)) & Succ(Zero)=Succ(x23) ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x3), Succ(Zero)))))) We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (III), (VII) which results in the following new constraint: (5) (x24=x26 & x23=x27 & new_primModNatS02(x24, x23, x26, x27)=Succ(Succ(Succ(x4))) & Zero=x23 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x24)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(Succ(x24)), Succ(Zero)))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x24, x23, x26, x27)=Succ(Succ(Succ(x4))) which results in the following new constraints: (6) (new_primModNatS01(x30, x29)=Succ(Succ(Succ(x4))) & x30=Succ(x28) & x29=Zero & Zero=x29 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x30)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(Succ(x30)), Succ(Zero)))))) (7) (new_primModNatS02(x34, x33, x32, x31)=Succ(Succ(Succ(x4))) & x34=Succ(x32) & x33=Succ(x31) & Zero=x33 & (\/x35:new_primModNatS02(x34, x33, x32, x31)=Succ(Succ(Succ(x35))) & x34=x32 & x33=x31 & Zero=x33 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x34)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(Succ(x34)), Succ(Zero)))))) ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x34)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(Succ(x34)), Succ(Zero)))))) (8) (new_primModNatS01(x37, x36)=Succ(Succ(Succ(x4))) & x37=Zero & x36=Zero & Zero=x36 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x37)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(Succ(x37)), Succ(Zero)))))) (9) (Succ(Succ(x40))=Succ(Succ(Succ(x4))) & x40=Zero & x39=Succ(x38) & Zero=x39 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x40)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(Succ(x40)), Succ(Zero)))))) We simplified constraint (6) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (10) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x28))))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(Succ(Succ(x28))), Succ(Zero)))))) We solved constraint (7) using rules (I), (II), (III).We simplified constraint (8) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (11) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero)))))) We solved constraint (9) using rules (I), (II), (III). For Pair new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x7))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x7))))), Integer(Pos(Succ(Succ(Zero))))), new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x8))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x8), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x8)))))) which results in the following constraint: (1) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x7))))), Integer(Pos(Succ(Succ(Zero)))))=new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x8))))), Integer(Pos(Succ(Succ(Zero))))) ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x7))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x7))))), Integer(Pos(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x7))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x7))))), Integer(Pos(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x10))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x10), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x10)))))), new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x11)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x11), Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x10), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x10))))))=new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x11)))))) ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x10))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x10), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x10))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Neg(new_primModNatS1(Succ(x10), Succ(Zero)))=x45 & new_primEqInt(x45)=False ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x10))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x10), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x10))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x45)=False which results in the following new constraint: (3) (False=False & Neg(new_primModNatS1(Succ(x10), Succ(Zero)))=Neg(Succ(x46)) ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x10))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x10), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x10))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (4) (Succ(x10)=x47 & Succ(Zero)=x48 & new_primModNatS1(x47, x48)=Succ(x46) ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x10))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x10), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x10))))))) We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x47, x48)=Succ(x46) which results in the following new constraints: (5) (Succ(Zero)=Succ(x46) & Succ(x10)=Succ(Zero) & Succ(Zero)=Succ(x49) ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x10))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x10), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x10))))))) (6) (new_primModNatS02(x51, x50, x51, x50)=Succ(x46) & Succ(x10)=Succ(Succ(x51)) & Succ(Zero)=Succ(x50) ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x10))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x10), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x10))))))) We simplified constraint (5) using rules (I), (II), (III), (IV) which results in the following new constraint: (7) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))))) We simplified constraint (6) using rules (I), (II), (III), (VII) which results in the following new constraint: (8) (x51=x53 & x50=x54 & new_primModNatS02(x51, x50, x53, x54)=Succ(x46) & Zero=x50 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x51)))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x51)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x51)))))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x51, x50, x53, x54)=Succ(x46) which results in the following new constraints: (9) (new_primModNatS01(x57, x56)=Succ(x46) & x57=Succ(x55) & x56=Zero & Zero=x56 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x57)))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x57)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x57)))))))) (10) (new_primModNatS02(x61, x60, x59, x58)=Succ(x46) & x61=Succ(x59) & x60=Succ(x58) & Zero=x60 & (\/x62:new_primModNatS02(x61, x60, x59, x58)=Succ(x62) & x61=x59 & x60=x58 & Zero=x60 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x61)))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x61)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x61)))))))) ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x61)))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x61)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x61)))))))) (11) (new_primModNatS01(x64, x63)=Succ(x46) & x64=Zero & x63=Zero & Zero=x63 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x64)))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x64)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x64)))))))) (12) (Succ(Succ(x67))=Succ(x46) & x67=Zero & x66=Succ(x65) & Zero=x66 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x67)))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x67)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x67)))))))) We simplified constraint (9) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (13) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x55))))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Succ(Succ(x55))), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x55))))))))) We solved constraint (10) using rules (I), (II), (III).We simplified constraint (11) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (14) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) We solved constraint (12) using rules (I), (II), (III), (IV). For Pair new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x16)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x16))))), Integer(Pos(Succ(Succ(Zero))))), new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x17))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x17))))), Integer(Pos(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x16))))), Integer(Pos(Succ(Succ(Zero)))))=new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x17))))), Integer(Pos(Succ(Succ(Zero))))) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x16))))))_>=_new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x16))))), Integer(Pos(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x16))))))_>=_new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x16))))), Integer(Pos(Succ(Succ(Zero)))))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) *(new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x28))))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(Succ(Succ(x28))), Succ(Zero)))))) *(new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero)))))) *new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) *(new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x7))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x7))))), Integer(Pos(Succ(Succ(Zero)))))) *new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x55))))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Succ(Succ(x55))), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x55))))))))) *(new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) *new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x16))))))_>=_new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x16))))), Integer(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. ---------------------------------------- (1628) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1629) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1630) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))), new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x4))))), Integer(Pos(Succ(Succ(Succ(x5)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x4))))), Integer(Pos(new_primModNatS02(Succ(x5), Succ(x4), x5, x4)))) which results in the following constraint: (1) (new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2))))))=new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x4))))), Integer(Pos(Succ(Succ(Succ(x5)))))) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))=x40 & new_primEqInt(x40)=False ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x40)=False which results in the following new constraints: (3) (False=False & Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))=Pos(Succ(x41)) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2))))))) (4) (False=False & Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))=Neg(Succ(x42)) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (5) (Succ(x2)=x43 & Succ(x3)=x44 & new_primModNatS02(x43, x44, x2, x3)=Succ(x41) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2))))))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x43, x44, x2, x3)=Succ(x41) which results in the following new constraints: (6) (new_primModNatS01(x47, x46)=Succ(x41) & Succ(Succ(x45))=x47 & Succ(Zero)=x46 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x45)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x45)), Succ(Zero), Succ(x45), Zero))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x45)))))))) (7) (new_primModNatS02(x51, x50, x49, x48)=Succ(x41) & Succ(Succ(x49))=x51 & Succ(Succ(x48))=x50 & (\/x52:new_primModNatS02(x51, x50, x49, x48)=Succ(x52) & Succ(x49)=x51 & Succ(x48)=x50 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x49))))), Integer(Neg(Succ(Succ(Succ(x48))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x49), Succ(x48), x49, x48))), Integer(Neg(Succ(Succ(Succ(x48))))), Integer(Pos(Succ(Succ(Succ(x49))))))) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x49)))))), Integer(Neg(Succ(Succ(Succ(Succ(x48)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x49)), Succ(Succ(x48)), Succ(x49), Succ(x48)))), Integer(Neg(Succ(Succ(Succ(Succ(x48)))))), Integer(Pos(Succ(Succ(Succ(Succ(x49)))))))) (8) (new_primModNatS01(x54, x53)=Succ(x41) & Succ(Zero)=x54 & Succ(Zero)=x53 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) (9) (Succ(Succ(x57))=Succ(x41) & Succ(Zero)=x57 & Succ(Succ(x55))=x56 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x55)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x55)), Zero, Succ(x55)))), Integer(Neg(Succ(Succ(Succ(Succ(x55)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x47, x46)=Succ(x41) which results in the following new constraint: (10) (new_primModNatS1(new_primMinusNatS2(Succ(x59), Succ(x58)), Succ(x58))=Succ(x41) & Succ(Succ(x45))=x59 & Succ(Zero)=x58 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x45)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x45)), Succ(Zero), Succ(x45), Zero))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x45)))))))) We simplified constraint (7) using rule (IV) which results in the following new constraint: (11) (new_primModNatS02(x51, x50, x49, x48)=Succ(x41) & Succ(Succ(x49))=x51 & Succ(Succ(x48))=x50 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x49)))))), Integer(Neg(Succ(Succ(Succ(Succ(x48)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x49)), Succ(Succ(x48)), Succ(x49), Succ(x48)))), Integer(Neg(Succ(Succ(Succ(Succ(x48)))))), Integer(Pos(Succ(Succ(Succ(Succ(x49)))))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x54, x53)=Succ(x41) which results in the following new constraint: (12) (new_primModNatS1(new_primMinusNatS2(Succ(x78), Succ(x77)), Succ(x77))=Succ(x41) & Succ(Zero)=x78 & Succ(Zero)=x77 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) We simplified constraint (9) using rules (I), (II), (IV) which results in the following new constraint: (13) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x55)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x55)), Zero, Succ(x55)))), Integer(Neg(Succ(Succ(Succ(Succ(x55)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) We simplified constraint (10) using rules (III), (IV), (VII) which results in the following new constraint: (14) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x45)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x45)), Succ(Zero), Succ(x45), Zero))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x45)))))))) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x51, x50, x49, x48)=Succ(x41) which results in the following new constraints: (15) (new_primModNatS01(x66, x65)=Succ(x41) & Succ(Succ(Succ(x64)))=x66 & Succ(Succ(Zero))=x65 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x64))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x64))), Succ(Succ(Zero)), Succ(Succ(x64)), Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x64))))))))) (16) (new_primModNatS02(x70, x69, x68, x67)=Succ(x41) & Succ(Succ(Succ(x68)))=x70 & Succ(Succ(Succ(x67)))=x69 & (\/x71:new_primModNatS02(x70, x69, x68, x67)=Succ(x71) & Succ(Succ(x68))=x70 & Succ(Succ(x67))=x69 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x68)))))), Integer(Neg(Succ(Succ(Succ(Succ(x67)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x68)), Succ(Succ(x67)), Succ(x68), Succ(x67)))), Integer(Neg(Succ(Succ(Succ(Succ(x67)))))), Integer(Pos(Succ(Succ(Succ(Succ(x68)))))))) ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x68))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x67))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x68))), Succ(Succ(Succ(x67))), Succ(Succ(x68)), Succ(Succ(x67))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x67))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x68))))))))) (17) (new_primModNatS01(x73, x72)=Succ(x41) & Succ(Succ(Zero))=x73 & Succ(Succ(Zero))=x72 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) (18) (Succ(Succ(x76))=Succ(x41) & Succ(Succ(Zero))=x76 & Succ(Succ(Succ(x74)))=x75 ==> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x74))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x74))), Succ(Zero), Succ(Succ(x74))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x74))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x64))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x64))), Succ(Succ(Zero)), Succ(Succ(x64)), Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x64))))))))) We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: (20) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x68))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x67))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x68))), Succ(Succ(Succ(x67))), Succ(Succ(x68)), Succ(Succ(x67))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x67))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x68))))))))) We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: (21) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (18) using rules (I), (II), (IV) which results in the following new constraint: (22) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x74))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x74))), Succ(Zero), Succ(Succ(x74))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x74))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: (23) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) For Pair new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x14))))), Integer(Pos(Succ(Succ(Succ(x15)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x14))))), Integer(Pos(new_primModNatS02(Succ(x15), Succ(x14), x15, x14)))), new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x16))))), Integer(Pos(Succ(Succ(Succ(x17)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x16), Succ(x17), x16, x17))), Integer(Pos(Succ(Succ(Succ(x17))))), Integer(Neg(Succ(Succ(Succ(x16)))))) which results in the following constraint: (1) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x14))))), Integer(Pos(new_primModNatS02(Succ(x15), Succ(x14), x15, x14))))=new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x16))))), Integer(Pos(Succ(Succ(Succ(x17)))))) ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x14))))), Integer(Pos(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x14))))), Integer(Pos(new_primModNatS02(Succ(x15), Succ(x14), x15, x14))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(x15)=x83 & Succ(x14)=x84 & new_primModNatS02(x83, x84, x15, x14)=Succ(Succ(Succ(x17))) ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x14))))), Integer(Pos(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x14))))), Integer(Pos(new_primModNatS02(Succ(x15), Succ(x14), x15, x14))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x83, x84, x15, x14)=Succ(Succ(Succ(x17))) which results in the following new constraints: (3) (new_primModNatS01(x87, x86)=Succ(Succ(Succ(x17))) & Succ(Succ(x85))=x87 & Succ(Zero)=x86 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x85)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(new_primModNatS02(Succ(Succ(x85)), Succ(Zero), Succ(x85), Zero))))) (4) (new_primModNatS02(x91, x90, x89, x88)=Succ(Succ(Succ(x17))) & Succ(Succ(x89))=x91 & Succ(Succ(x88))=x90 & (\/x92:new_primModNatS02(x91, x90, x89, x88)=Succ(Succ(Succ(x92))) & Succ(x89)=x91 & Succ(x88)=x90 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x88))))), Integer(Pos(Succ(Succ(Succ(x89))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x88))))), Integer(Pos(new_primModNatS02(Succ(x89), Succ(x88), x89, x88))))) ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(x88)))))), Integer(Pos(Succ(Succ(Succ(Succ(x89)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x88)))))), Integer(Pos(new_primModNatS02(Succ(Succ(x89)), Succ(Succ(x88)), Succ(x89), Succ(x88)))))) (5) (new_primModNatS01(x94, x93)=Succ(Succ(Succ(x17))) & Succ(Zero)=x94 & Succ(Zero)=x93 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))))) (6) (Succ(Succ(x97))=Succ(Succ(Succ(x17))) & Succ(Zero)=x97 & Succ(Succ(x95))=x96 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(x95)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x95)))))), Integer(Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x95)), Zero, Succ(x95)))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x87, x86)=Succ(Succ(Succ(x17))) which results in the following new constraint: (7) (new_primModNatS1(new_primMinusNatS2(Succ(x99), Succ(x98)), Succ(x98))=Succ(Succ(Succ(x17))) & Succ(Succ(x85))=x99 & Succ(Zero)=x98 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x85)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(new_primModNatS02(Succ(Succ(x85)), Succ(Zero), Succ(x85), Zero))))) We simplified constraint (4) using rule (IV) which results in the following new constraint: (8) (new_primModNatS02(x91, x90, x89, x88)=Succ(Succ(Succ(x17))) & Succ(Succ(x89))=x91 & Succ(Succ(x88))=x90 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(x88)))))), Integer(Pos(Succ(Succ(Succ(Succ(x89)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x88)))))), Integer(Pos(new_primModNatS02(Succ(Succ(x89)), Succ(Succ(x88)), Succ(x89), Succ(x88)))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x94, x93)=Succ(Succ(Succ(x17))) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x118), Succ(x117)), Succ(x117))=Succ(Succ(Succ(x17))) & Succ(Zero)=x118 & Succ(Zero)=x117 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))))) We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(x95)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x95)))))), Integer(Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x95)), Zero, Succ(x95)))))) We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: (11) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x85)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(new_primModNatS02(Succ(Succ(x85)), Succ(Zero), Succ(x85), Zero))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x91, x90, x89, x88)=Succ(Succ(Succ(x17))) which results in the following new constraints: (12) (new_primModNatS01(x106, x105)=Succ(Succ(Succ(x17))) & Succ(Succ(Succ(x104)))=x106 & Succ(Succ(Zero))=x105 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x104))))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(new_primModNatS02(Succ(Succ(Succ(x104))), Succ(Succ(Zero)), Succ(Succ(x104)), Succ(Zero)))))) (13) (new_primModNatS02(x110, x109, x108, x107)=Succ(Succ(Succ(x17))) & Succ(Succ(Succ(x108)))=x110 & Succ(Succ(Succ(x107)))=x109 & (\/x111:new_primModNatS02(x110, x109, x108, x107)=Succ(Succ(Succ(x111))) & Succ(Succ(x108))=x110 & Succ(Succ(x107))=x109 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(x107)))))), Integer(Pos(Succ(Succ(Succ(Succ(x108)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x107)))))), Integer(Pos(new_primModNatS02(Succ(Succ(x108)), Succ(Succ(x107)), Succ(x108), Succ(x107)))))) ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(Succ(x107))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x108))))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x107))))))), Integer(Pos(new_primModNatS02(Succ(Succ(Succ(x108))), Succ(Succ(Succ(x107))), Succ(Succ(x108)), Succ(Succ(x107))))))) (14) (new_primModNatS01(x113, x112)=Succ(Succ(Succ(x17))) & Succ(Succ(Zero))=x113 & Succ(Succ(Zero))=x112 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))))) (15) (Succ(Succ(x116))=Succ(Succ(Succ(x17))) & Succ(Succ(Zero))=x116 & Succ(Succ(Succ(x114)))=x115 ==> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(Succ(x114))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x114))))))), Integer(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x114))), Succ(Zero), Succ(Succ(x114))))))) We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: (16) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x104))))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(new_primModNatS02(Succ(Succ(Succ(x104))), Succ(Succ(Zero)), Succ(Succ(x104)), Succ(Zero)))))) We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: (17) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(Succ(x107))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x108))))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x107))))))), Integer(Pos(new_primModNatS02(Succ(Succ(Succ(x108))), Succ(Succ(Succ(x107))), Succ(Succ(x108)), Succ(Succ(x107))))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))))) We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(Succ(x114))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x114))))))), Integer(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x114))), Succ(Zero), Succ(Succ(x114))))))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (20) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))))) For Pair new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x26))))), Integer(Pos(Succ(Succ(Succ(x27)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x26), Succ(x27), x26, x27))), Integer(Pos(Succ(Succ(Succ(x27))))), Integer(Neg(Succ(Succ(Succ(x26)))))), new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x28))))), Integer(Neg(Succ(Succ(Succ(x29)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x28))))), Integer(Neg(new_primModNatS02(Succ(x29), Succ(x28), x29, x28)))) which results in the following constraint: (1) (new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x26), Succ(x27), x26, x27))), Integer(Pos(Succ(Succ(Succ(x27))))), Integer(Neg(Succ(Succ(Succ(x26))))))=new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x28))))), Integer(Neg(Succ(Succ(Succ(x29)))))) ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x26))))), Integer(Pos(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x26), Succ(x27), x26, x27))), Integer(Pos(Succ(Succ(Succ(x27))))), Integer(Neg(Succ(Succ(Succ(x26))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Neg(new_primModNatS02(Succ(x26), Succ(x27), x26, x27))=x123 & new_primEqInt(x123)=False ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x26))))), Integer(Pos(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x26), Succ(x27), x26, x27))), Integer(Pos(Succ(Succ(Succ(x27))))), Integer(Neg(Succ(Succ(Succ(x26))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x123)=False which results in the following new constraints: (3) (False=False & Neg(new_primModNatS02(Succ(x26), Succ(x27), x26, x27))=Pos(Succ(x124)) ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x26))))), Integer(Pos(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x26), Succ(x27), x26, x27))), Integer(Pos(Succ(Succ(Succ(x27))))), Integer(Neg(Succ(Succ(Succ(x26))))))) (4) (False=False & Neg(new_primModNatS02(Succ(x26), Succ(x27), x26, x27))=Neg(Succ(x125)) ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x26))))), Integer(Pos(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x26), Succ(x27), x26, x27))), Integer(Pos(Succ(Succ(Succ(x27))))), Integer(Neg(Succ(Succ(Succ(x26))))))) We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: (5) (Succ(x26)=x126 & Succ(x27)=x127 & new_primModNatS02(x126, x127, x26, x27)=Succ(x125) ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x26))))), Integer(Pos(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x26), Succ(x27), x26, x27))), Integer(Pos(Succ(Succ(Succ(x27))))), Integer(Neg(Succ(Succ(Succ(x26))))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x126, x127, x26, x27)=Succ(x125) which results in the following new constraints: (6) (new_primModNatS01(x130, x129)=Succ(x125) & Succ(Succ(x128))=x130 & Succ(Zero)=x129 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x128)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x128)), Succ(Zero), Succ(x128), Zero))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x128)))))))) (7) (new_primModNatS02(x134, x133, x132, x131)=Succ(x125) & Succ(Succ(x132))=x134 & Succ(Succ(x131))=x133 & (\/x135:new_primModNatS02(x134, x133, x132, x131)=Succ(x135) & Succ(x132)=x134 & Succ(x131)=x133 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x132))))), Integer(Pos(Succ(Succ(Succ(x131))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x132), Succ(x131), x132, x131))), Integer(Pos(Succ(Succ(Succ(x131))))), Integer(Neg(Succ(Succ(Succ(x132))))))) ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x132)))))), Integer(Pos(Succ(Succ(Succ(Succ(x131)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x132)), Succ(Succ(x131)), Succ(x132), Succ(x131)))), Integer(Pos(Succ(Succ(Succ(Succ(x131)))))), Integer(Neg(Succ(Succ(Succ(Succ(x132)))))))) (8) (new_primModNatS01(x137, x136)=Succ(x125) & Succ(Zero)=x137 & Succ(Zero)=x136 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) (9) (Succ(Succ(x140))=Succ(x125) & Succ(Zero)=x140 & Succ(Succ(x138))=x139 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x138)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x138)), Zero, Succ(x138)))), Integer(Pos(Succ(Succ(Succ(Succ(x138)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x130, x129)=Succ(x125) which results in the following new constraint: (10) (new_primModNatS1(new_primMinusNatS2(Succ(x142), Succ(x141)), Succ(x141))=Succ(x125) & Succ(Succ(x128))=x142 & Succ(Zero)=x141 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x128)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x128)), Succ(Zero), Succ(x128), Zero))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x128)))))))) We simplified constraint (7) using rule (IV) which results in the following new constraint: (11) (new_primModNatS02(x134, x133, x132, x131)=Succ(x125) & Succ(Succ(x132))=x134 & Succ(Succ(x131))=x133 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x132)))))), Integer(Pos(Succ(Succ(Succ(Succ(x131)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x132)), Succ(Succ(x131)), Succ(x132), Succ(x131)))), Integer(Pos(Succ(Succ(Succ(Succ(x131)))))), Integer(Neg(Succ(Succ(Succ(Succ(x132)))))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x137, x136)=Succ(x125) which results in the following new constraint: (12) (new_primModNatS1(new_primMinusNatS2(Succ(x161), Succ(x160)), Succ(x160))=Succ(x125) & Succ(Zero)=x161 & Succ(Zero)=x160 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) We simplified constraint (9) using rules (I), (II), (IV) which results in the following new constraint: (13) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x138)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x138)), Zero, Succ(x138)))), Integer(Pos(Succ(Succ(Succ(Succ(x138)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) We simplified constraint (10) using rules (III), (IV), (VII) which results in the following new constraint: (14) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x128)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x128)), Succ(Zero), Succ(x128), Zero))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x128)))))))) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x134, x133, x132, x131)=Succ(x125) which results in the following new constraints: (15) (new_primModNatS01(x149, x148)=Succ(x125) & Succ(Succ(Succ(x147)))=x149 & Succ(Succ(Zero))=x148 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x147))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x147))), Succ(Succ(Zero)), Succ(Succ(x147)), Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x147))))))))) (16) (new_primModNatS02(x153, x152, x151, x150)=Succ(x125) & Succ(Succ(Succ(x151)))=x153 & Succ(Succ(Succ(x150)))=x152 & (\/x154:new_primModNatS02(x153, x152, x151, x150)=Succ(x154) & Succ(Succ(x151))=x153 & Succ(Succ(x150))=x152 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x151)))))), Integer(Pos(Succ(Succ(Succ(Succ(x150)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x151)), Succ(Succ(x150)), Succ(x151), Succ(x150)))), Integer(Pos(Succ(Succ(Succ(Succ(x150)))))), Integer(Neg(Succ(Succ(Succ(Succ(x151)))))))) ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x151))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x150))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x151))), Succ(Succ(Succ(x150))), Succ(Succ(x151)), Succ(Succ(x150))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x150))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x151))))))))) (17) (new_primModNatS01(x156, x155)=Succ(x125) & Succ(Succ(Zero))=x156 & Succ(Succ(Zero))=x155 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) (18) (Succ(Succ(x159))=Succ(x125) & Succ(Succ(Zero))=x159 & Succ(Succ(Succ(x157)))=x158 ==> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x157))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x157))), Succ(Zero), Succ(Succ(x157))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x157))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x147))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x147))), Succ(Succ(Zero)), Succ(Succ(x147)), Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x147))))))))) We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: (20) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x151))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x150))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x151))), Succ(Succ(Succ(x150))), Succ(Succ(x151)), Succ(Succ(x150))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x150))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x151))))))))) We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: (21) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (18) using rules (I), (II), (IV) which results in the following new constraint: (22) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x157))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x157))), Succ(Zero), Succ(Succ(x157))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x157))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: (23) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) For Pair new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x30))))), Integer(Neg(Succ(Succ(Succ(x31)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x30))))), Integer(Neg(new_primModNatS02(Succ(x31), Succ(x30), x31, x30)))), new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x32))))), Integer(Neg(Succ(Succ(Succ(x33)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x32), Succ(x33), x32, x33))), Integer(Neg(Succ(Succ(Succ(x33))))), Integer(Pos(Succ(Succ(Succ(x32)))))) which results in the following constraint: (1) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x30))))), Integer(Neg(new_primModNatS02(Succ(x31), Succ(x30), x31, x30))))=new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x32))))), Integer(Neg(Succ(Succ(Succ(x33)))))) ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x30))))), Integer(Neg(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x30))))), Integer(Neg(new_primModNatS02(Succ(x31), Succ(x30), x31, x30))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(x31)=x166 & Succ(x30)=x167 & new_primModNatS02(x166, x167, x31, x30)=Succ(Succ(Succ(x33))) ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x30))))), Integer(Neg(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x30))))), Integer(Neg(new_primModNatS02(Succ(x31), Succ(x30), x31, x30))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x166, x167, x31, x30)=Succ(Succ(Succ(x33))) which results in the following new constraints: (3) (new_primModNatS01(x170, x169)=Succ(Succ(Succ(x33))) & Succ(Succ(x168))=x170 & Succ(Zero)=x169 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x168)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(new_primModNatS02(Succ(Succ(x168)), Succ(Zero), Succ(x168), Zero))))) (4) (new_primModNatS02(x174, x173, x172, x171)=Succ(Succ(Succ(x33))) & Succ(Succ(x172))=x174 & Succ(Succ(x171))=x173 & (\/x175:new_primModNatS02(x174, x173, x172, x171)=Succ(Succ(Succ(x175))) & Succ(x172)=x174 & Succ(x171)=x173 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x171))))), Integer(Neg(Succ(Succ(Succ(x172))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x171))))), Integer(Neg(new_primModNatS02(Succ(x172), Succ(x171), x172, x171))))) ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(x171)))))), Integer(Neg(Succ(Succ(Succ(Succ(x172)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x171)))))), Integer(Neg(new_primModNatS02(Succ(Succ(x172)), Succ(Succ(x171)), Succ(x172), Succ(x171)))))) (5) (new_primModNatS01(x177, x176)=Succ(Succ(Succ(x33))) & Succ(Zero)=x177 & Succ(Zero)=x176 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))))) (6) (Succ(Succ(x180))=Succ(Succ(Succ(x33))) & Succ(Zero)=x180 & Succ(Succ(x178))=x179 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(x178)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x178)))))), Integer(Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x178)), Zero, Succ(x178)))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x170, x169)=Succ(Succ(Succ(x33))) which results in the following new constraint: (7) (new_primModNatS1(new_primMinusNatS2(Succ(x182), Succ(x181)), Succ(x181))=Succ(Succ(Succ(x33))) & Succ(Succ(x168))=x182 & Succ(Zero)=x181 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x168)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(new_primModNatS02(Succ(Succ(x168)), Succ(Zero), Succ(x168), Zero))))) We simplified constraint (4) using rule (IV) which results in the following new constraint: (8) (new_primModNatS02(x174, x173, x172, x171)=Succ(Succ(Succ(x33))) & Succ(Succ(x172))=x174 & Succ(Succ(x171))=x173 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(x171)))))), Integer(Neg(Succ(Succ(Succ(Succ(x172)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x171)))))), Integer(Neg(new_primModNatS02(Succ(Succ(x172)), Succ(Succ(x171)), Succ(x172), Succ(x171)))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x177, x176)=Succ(Succ(Succ(x33))) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x201), Succ(x200)), Succ(x200))=Succ(Succ(Succ(x33))) & Succ(Zero)=x201 & Succ(Zero)=x200 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))))) We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(x178)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x178)))))), Integer(Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x178)), Zero, Succ(x178)))))) We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: (11) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x168)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(new_primModNatS02(Succ(Succ(x168)), Succ(Zero), Succ(x168), Zero))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x174, x173, x172, x171)=Succ(Succ(Succ(x33))) which results in the following new constraints: (12) (new_primModNatS01(x189, x188)=Succ(Succ(Succ(x33))) & Succ(Succ(Succ(x187)))=x189 & Succ(Succ(Zero))=x188 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x187))))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(new_primModNatS02(Succ(Succ(Succ(x187))), Succ(Succ(Zero)), Succ(Succ(x187)), Succ(Zero)))))) (13) (new_primModNatS02(x193, x192, x191, x190)=Succ(Succ(Succ(x33))) & Succ(Succ(Succ(x191)))=x193 & Succ(Succ(Succ(x190)))=x192 & (\/x194:new_primModNatS02(x193, x192, x191, x190)=Succ(Succ(Succ(x194))) & Succ(Succ(x191))=x193 & Succ(Succ(x190))=x192 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(x190)))))), Integer(Neg(Succ(Succ(Succ(Succ(x191)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x190)))))), Integer(Neg(new_primModNatS02(Succ(Succ(x191)), Succ(Succ(x190)), Succ(x191), Succ(x190)))))) ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(Succ(x190))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x191))))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x190))))))), Integer(Neg(new_primModNatS02(Succ(Succ(Succ(x191))), Succ(Succ(Succ(x190))), Succ(Succ(x191)), Succ(Succ(x190))))))) (14) (new_primModNatS01(x196, x195)=Succ(Succ(Succ(x33))) & Succ(Succ(Zero))=x196 & Succ(Succ(Zero))=x195 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))))) (15) (Succ(Succ(x199))=Succ(Succ(Succ(x33))) & Succ(Succ(Zero))=x199 & Succ(Succ(Succ(x197)))=x198 ==> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(Succ(x197))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x197))))))), Integer(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x197))), Succ(Zero), Succ(Succ(x197))))))) We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: (16) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x187))))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(new_primModNatS02(Succ(Succ(Succ(x187))), Succ(Succ(Zero)), Succ(Succ(x187)), Succ(Zero)))))) We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: (17) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(Succ(x190))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x191))))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x190))))))), Integer(Neg(new_primModNatS02(Succ(Succ(Succ(x191))), Succ(Succ(Succ(x190))), Succ(Succ(x191)), Succ(Succ(x190))))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))))) We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(Succ(x197))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x197))))))), Integer(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x197))), Succ(Zero), Succ(Succ(x197))))))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (20) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x74))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x74))), Succ(Zero), Succ(Succ(x74))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x74))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x55)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x55)), Zero, Succ(x55)))), Integer(Neg(Succ(Succ(Succ(Succ(x55)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x45)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x45)), Succ(Zero), Succ(x45), Zero))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x45)))))))) *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x64))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x64))), Succ(Succ(Zero)), Succ(Succ(x64)), Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x64))))))))) *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x68))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x67))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x68))), Succ(Succ(Succ(x67))), Succ(Succ(x68)), Succ(Succ(x67))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x67))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x68))))))))) *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) *new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) *(new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(Succ(x114))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x114))))))), Integer(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x114))), Succ(Zero), Succ(Succ(x114))))))) *(new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(x95)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x95)))))), Integer(Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x95)), Zero, Succ(x95)))))) *(new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x85)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(new_primModNatS02(Succ(Succ(x85)), Succ(Zero), Succ(x85), Zero))))) *(new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x104))))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(new_primModNatS02(Succ(Succ(Succ(x104))), Succ(Succ(Zero)), Succ(Succ(x104)), Succ(Zero)))))) *(new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(Succ(x107))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x108))))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x107))))))), Integer(Pos(new_primModNatS02(Succ(Succ(Succ(x108))), Succ(Succ(Succ(x107))), Succ(Succ(x108)), Succ(Succ(x107))))))) *(new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))))) *(new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))))) *new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x157))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x157))), Succ(Zero), Succ(Succ(x157))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x157))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x138)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x138)), Zero, Succ(x138)))), Integer(Pos(Succ(Succ(Succ(Succ(x138)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(x128)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x128)), Succ(Zero), Succ(x128), Zero))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x128)))))))) *(new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x147))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x147))), Succ(Succ(Zero)), Succ(Succ(x147)), Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x147))))))))) *(new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x151))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x150))))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x151))), Succ(Succ(Succ(x150))), Succ(Succ(x151)), Succ(Succ(x150))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x150))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x151))))))))) *(new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) *new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) *(new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(Succ(x197))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x197))))))), Integer(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x197))), Succ(Zero), Succ(Succ(x197))))))) *(new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(x178)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(x178)))))), Integer(Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x178)), Zero, Succ(x178)))))) *(new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x168)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(new_primModNatS02(Succ(Succ(x168)), Succ(Zero), Succ(x168), Zero))))) *(new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x187))))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(new_primModNatS02(Succ(Succ(Succ(x187))), Succ(Succ(Zero)), Succ(Succ(x187)), Succ(Zero)))))) *(new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(Succ(x190))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x191))))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x190))))))), Integer(Neg(new_primModNatS02(Succ(Succ(Succ(x191))), Succ(Succ(Succ(x190))), Succ(Succ(x191)), Succ(Succ(x190))))))) *(new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero)))))) *(new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (1631) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vyv344000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vyv345000)), Succ(vyv344000)) -> new_primModNatS02(vyv345000, vyv344000, vyv345000, vyv344000) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS01(vyv451, vyv452) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv451), Succ(vyv452)), Succ(vyv452)) new_primModNatS02(vyv451, vyv452, Succ(vyv4530), Succ(vyv4540)) -> new_primModNatS02(vyv451, vyv452, vyv4530, vyv4540) new_primModNatS02(vyv451, vyv452, Zero, Zero) -> new_primModNatS01(vyv451, vyv452) new_primModNatS02(vyv451, vyv452, Zero, Succ(vyv4540)) -> Succ(Succ(vyv451)) new_primMinusNatS2(Succ(vyv4000), Succ(vyv4010)) -> new_primMinusNatS2(vyv4000, vyv4010) new_primModNatS1(Zero, vyv34400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv4010)) -> Zero new_primMinusNatS2(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primEqInt(Pos(Succ(vyv38000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv38000))) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Zero, x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primEqInt(Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1632) 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"];7306[label="vyv4/Pos vyv40",fontsize=10,color="white",style="solid",shape="box"];7 -> 7306[label="",style="solid", color="burlywood", weight=9]; 7306 -> 8[label="",style="solid", color="burlywood", weight=3]; 7307[label="vyv4/Neg vyv40",fontsize=10,color="white",style="solid",shape="box"];7 -> 7307[label="",style="solid", color="burlywood", weight=9]; 7307 -> 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"];7308[label="vyv40/Succ vyv400",fontsize=10,color="white",style="solid",shape="box"];8 -> 7308[label="",style="solid", color="burlywood", weight=9]; 7308 -> 10[label="",style="solid", color="burlywood", weight=3]; 7309[label="vyv40/Zero",fontsize=10,color="white",style="solid",shape="box"];8 -> 7309[label="",style="solid", color="burlywood", weight=9]; 7309 -> 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"];7310[label="vyv40/Succ vyv400",fontsize=10,color="white",style="solid",shape="box"];9 -> 7310[label="",style="solid", color="burlywood", weight=9]; 7310 -> 12[label="",style="solid", color="burlywood", weight=3]; 7311[label="vyv40/Zero",fontsize=10,color="white",style="solid",shape="box"];9 -> 7311[label="",style="solid", color="burlywood", weight=9]; 7311 -> 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="blue",shape="box"];7312[label="fromInt :: -> Int Float",fontsize=10,color="white",style="solid",shape="box"];23 -> 7312[label="",style="solid", color="blue", weight=9]; 7312 -> 27[label="",style="solid", color="blue", weight=3]; 7313[label="fromInt :: -> Int Double",fontsize=10,color="white",style="solid",shape="box"];23 -> 7313[label="",style="solid", color="blue", weight=9]; 7313 -> 28[label="",style="solid", color="blue", weight=3]; 7314[label="fromInt :: -> Int Int",fontsize=10,color="white",style="solid",shape="box"];23 -> 7314[label="",style="solid", color="blue", weight=9]; 7314 -> 29[label="",style="solid", color="blue", weight=3]; 7315[label="fromInt :: -> Int Integer",fontsize=10,color="white",style="solid",shape="box"];23 -> 7315[label="",style="solid", color="blue", weight=9]; 7315 -> 30[label="",style="solid", color="blue", weight=3]; 7316[label="fromInt :: -> Int (Ratio a)",fontsize=10,color="white",style="solid",shape="box"];23 -> 7316[label="",style="solid", color="blue", weight=9]; 7316 -> 31[label="",style="solid", color="blue", weight=3]; 24[label="pr2 vyv3 (Neg (Succ vyv400))",fontsize=16,color="black",shape="box"];24 -> 32[label="",style="solid", color="black", weight=3]; 25[label="fromInt (Pos (Succ Zero))",fontsize=16,color="blue",shape="box"];7317[label="fromInt :: -> Int Float",fontsize=10,color="white",style="solid",shape="box"];25 -> 7317[label="",style="solid", color="blue", weight=9]; 7317 -> 33[label="",style="solid", color="blue", weight=3]; 7318[label="fromInt :: -> Int Double",fontsize=10,color="white",style="solid",shape="box"];25 -> 7318[label="",style="solid", color="blue", weight=9]; 7318 -> 34[label="",style="solid", color="blue", weight=3]; 7319[label="fromInt :: -> Int Int",fontsize=10,color="white",style="solid",shape="box"];25 -> 7319[label="",style="solid", color="blue", weight=9]; 7319 -> 35[label="",style="solid", color="blue", weight=3]; 7320[label="fromInt :: -> Int Integer",fontsize=10,color="white",style="solid",shape="box"];25 -> 7320[label="",style="solid", color="blue", weight=9]; 7320 -> 36[label="",style="solid", color="blue", weight=3]; 7321[label="fromInt :: -> Int (Ratio a)",fontsize=10,color="white",style="solid",shape="box"];25 -> 7321[label="",style="solid", color="blue", weight=9]; 7321 -> 37[label="",style="solid", color="blue", weight=3]; 26[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (Pos (Succ vyv400) > fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];26 -> 38[label="",style="solid", color="black", weight=3]; 27[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];27 -> 39[label="",style="solid", color="black", weight=3]; 28[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];28 -> 40[label="",style="solid", color="black", weight=3]; 29[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];29 -> 41[label="",style="solid", color="black", weight=3]; 30[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];30 -> 42[label="",style="solid", color="black", weight=3]; 31[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];31 -> 43[label="",style="solid", color="black", weight=3]; 32[label="pr2Pr1 vyv3 (Neg (Succ vyv400)) (Neg (Succ vyv400) > fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];32 -> 44[label="",style="solid", color="black", weight=3]; 33 -> 27[label="",style="dashed", color="red", weight=0]; 33[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];34 -> 28[label="",style="dashed", color="red", weight=0]; 34[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];35 -> 29[label="",style="dashed", color="red", weight=0]; 35[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];36 -> 30[label="",style="dashed", color="red", weight=0]; 36[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];37 -> 31[label="",style="dashed", color="red", weight=0]; 37[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];38[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (compare (Pos (Succ vyv400)) (fromInt (Pos Zero)) == GT)",fontsize=16,color="black",shape="box"];38 -> 45[label="",style="solid", color="black", weight=3]; 39[label="primIntToFloat (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];39 -> 46[label="",style="solid", color="black", weight=3]; 40[label="primIntToDouble (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];40 -> 47[label="",style="solid", color="black", weight=3]; 41[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];42[label="Integer (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];43[label="intToRatio (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];43 -> 48[label="",style="solid", color="black", weight=3]; 44[label="pr2Pr1 vyv3 (Neg (Succ vyv400)) (compare (Neg (Succ vyv400)) (fromInt (Pos Zero)) == GT)",fontsize=16,color="black",shape="box"];44 -> 49[label="",style="solid", color="black", weight=3]; 45[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (primCmpInt (Pos (Succ vyv400)) (fromInt (Pos Zero)) == GT)",fontsize=16,color="black",shape="box"];45 -> 50[label="",style="solid", color="black", weight=3]; 46[label="Float (Pos (Succ Zero)) (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];47[label="Double (Pos (Succ Zero)) (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];48[label="fromInt (Pos (Succ Zero)) :% fromInt (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];48 -> 51[label="",style="dashed", color="green", weight=3]; 48 -> 52[label="",style="dashed", color="green", weight=3]; 49[label="pr2Pr1 vyv3 (Neg (Succ vyv400)) (primCmpInt (Neg (Succ vyv400)) (fromInt (Pos Zero)) == GT)",fontsize=16,color="black",shape="box"];49 -> 53[label="",style="solid", color="black", weight=3]; 50[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (primCmpInt (Pos (Succ vyv400)) (Pos Zero) == GT)",fontsize=16,color="black",shape="box"];50 -> 54[label="",style="solid", color="black", weight=3]; 51[label="fromInt (Pos (Succ Zero))",fontsize=16,color="blue",shape="box"];7322[label="fromInt :: Int -> Int",fontsize=10,color="white",style="solid",shape="box"];51 -> 7322[label="",style="solid", color="blue", weight=9]; 7322 -> 55[label="",style="solid", color="blue", weight=3]; 7323[label="fromInt :: Int -> Integer",fontsize=10,color="white",style="solid",shape="box"];51 -> 7323[label="",style="solid", color="blue", weight=9]; 7323 -> 56[label="",style="solid", color="blue", weight=3]; 52[label="fromInt (Pos (Succ Zero))",fontsize=16,color="blue",shape="box"];7324[label="fromInt :: -> Int Int",fontsize=10,color="white",style="solid",shape="box"];52 -> 7324[label="",style="solid", color="blue", weight=9]; 7324 -> 57[label="",style="solid", color="blue", weight=3]; 7325[label="fromInt :: -> Int Integer",fontsize=10,color="white",style="solid",shape="box"];52 -> 7325[label="",style="solid", color="blue", weight=9]; 7325 -> 58[label="",style="solid", color="blue", weight=3]; 53[label="pr2Pr1 vyv3 (Neg (Succ vyv400)) (primCmpInt (Neg (Succ vyv400)) (Pos Zero) == GT)",fontsize=16,color="black",shape="box"];53 -> 59[label="",style="solid", color="black", weight=3]; 54[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (primCmpNat (Succ vyv400) Zero == GT)",fontsize=16,color="black",shape="box"];54 -> 60[label="",style="solid", color="black", weight=3]; 55 -> 29[label="",style="dashed", color="red", weight=0]; 55[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];56 -> 30[label="",style="dashed", color="red", weight=0]; 56[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];57 -> 29[label="",style="dashed", color="red", weight=0]; 57[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];58 -> 30[label="",style="dashed", color="red", weight=0]; 58[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];59[label="pr2Pr1 vyv3 (Neg (Succ vyv400)) (LT == GT)",fontsize=16,color="black",shape="box"];59 -> 61[label="",style="solid", color="black", weight=3]; 60[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (GT == GT)",fontsize=16,color="black",shape="box"];60 -> 62[label="",style="solid", color="black", weight=3]; 61[label="pr2Pr1 vyv3 (Neg (Succ vyv400)) False",fontsize=16,color="black",shape="box"];61 -> 63[label="",style="solid", color="black", weight=3]; 62[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) True",fontsize=16,color="black",shape="box"];62 -> 64[label="",style="solid", color="black", weight=3]; 63[label="pr0 vyv3 (Neg (Succ vyv400))",fontsize=16,color="black",shape="box"];63 -> 65[label="",style="solid", color="black", weight=3]; 64 -> 66[label="",style="dashed", color="red", weight=0]; 64[label="pr2F vyv3 (Pos (Succ vyv400) - fromInt (Pos (Succ Zero))) vyv3",fontsize=16,color="magenta"];64 -> 67[label="",style="dashed", color="magenta", weight=3]; 65[label="error []",fontsize=16,color="black",shape="triangle"];65 -> 68[label="",style="solid", color="black", weight=3]; 67 -> 29[label="",style="dashed", color="red", weight=0]; 67[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];66[label="pr2F vyv3 (Pos (Succ vyv400) - vyv5) vyv3",fontsize=16,color="black",shape="triangle"];66 -> 69[label="",style="solid", color="black", weight=3]; 68[label="error []",fontsize=16,color="red",shape="box"];69[label="pr2F4 vyv3 (Pos (Succ vyv400) - vyv5) vyv3",fontsize=16,color="black",shape="box"];69 -> 70[label="",style="solid", color="black", weight=3]; 70[label="pr2F3 (Pos (Succ vyv400) - vyv5 == fromInt (Pos Zero)) vyv3 (Pos (Succ vyv400) - vyv5) vyv3",fontsize=16,color="black",shape="box"];70 -> 71[label="",style="solid", color="black", weight=3]; 71[label="pr2F3 (primEqInt (Pos (Succ vyv400) - vyv5) (fromInt (Pos Zero))) vyv3 (Pos (Succ vyv400) - vyv5) vyv3",fontsize=16,color="black",shape="box"];71 -> 72[label="",style="solid", color="black", weight=3]; 72[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vyv400)) vyv5) (fromInt (Pos Zero))) vyv3 (primMinusInt (Pos (Succ vyv400)) vyv5) vyv3",fontsize=16,color="burlywood",shape="box"];7326[label="vyv5/Pos vyv50",fontsize=10,color="white",style="solid",shape="box"];72 -> 7326[label="",style="solid", color="burlywood", weight=9]; 7326 -> 73[label="",style="solid", color="burlywood", weight=3]; 7327[label="vyv5/Neg vyv50",fontsize=10,color="white",style="solid",shape="box"];72 -> 7327[label="",style="solid", color="burlywood", weight=9]; 7327 -> 74[label="",style="solid", color="burlywood", weight=3]; 73[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"];73 -> 75[label="",style="solid", color="black", weight=3]; 74[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"];74 -> 76[label="",style="solid", color="black", weight=3]; 75[label="pr2F3 (primEqInt (primMinusNat (Succ vyv400) vyv50) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv400) vyv50) vyv3",fontsize=16,color="burlywood",shape="box"];7328[label="vyv50/Succ vyv500",fontsize=10,color="white",style="solid",shape="box"];75 -> 7328[label="",style="solid", color="burlywood", weight=9]; 7328 -> 77[label="",style="solid", color="burlywood", weight=3]; 7329[label="vyv50/Zero",fontsize=10,color="white",style="solid",shape="box"];75 -> 7329[label="",style="solid", color="burlywood", weight=9]; 7329 -> 78[label="",style="solid", color="burlywood", weight=3]; 76[label="pr2F3 (primEqInt (Pos (primPlusNat (Succ vyv400) vyv50)) (fromInt (Pos Zero))) vyv3 (Pos (primPlusNat (Succ vyv400) vyv50)) vyv3",fontsize=16,color="burlywood",shape="box"];7330[label="vyv50/Succ vyv500",fontsize=10,color="white",style="solid",shape="box"];76 -> 7330[label="",style="solid", color="burlywood", weight=9]; 7330 -> 79[label="",style="solid", color="burlywood", weight=3]; 7331[label="vyv50/Zero",fontsize=10,color="white",style="solid",shape="box"];76 -> 7331[label="",style="solid", color="burlywood", weight=9]; 7331 -> 80[label="",style="solid", color="burlywood", weight=3]; 77[label="pr2F3 (primEqInt (primMinusNat (Succ vyv400) (Succ vyv500)) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv400) (Succ vyv500)) vyv3",fontsize=16,color="black",shape="box"];77 -> 81[label="",style="solid", color="black", weight=3]; 78[label="pr2F3 (primEqInt (primMinusNat (Succ vyv400) Zero) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv400) Zero) vyv3",fontsize=16,color="black",shape="box"];78 -> 82[label="",style="solid", color="black", weight=3]; 79[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"];79 -> 83[label="",style="solid", color="black", weight=3]; 80[label="pr2F3 (primEqInt (Pos (primPlusNat (Succ vyv400) Zero)) (fromInt (Pos Zero))) vyv3 (Pos (primPlusNat (Succ vyv400) Zero)) vyv3",fontsize=16,color="black",shape="box"];80 -> 84[label="",style="solid", color="black", weight=3]; 81[label="pr2F3 (primEqInt (primMinusNat vyv400 vyv500) (fromInt (Pos Zero))) vyv3 (primMinusNat vyv400 vyv500) vyv3",fontsize=16,color="burlywood",shape="triangle"];7332[label="vyv400/Succ vyv4000",fontsize=10,color="white",style="solid",shape="box"];81 -> 7332[label="",style="solid", color="burlywood", weight=9]; 7332 -> 85[label="",style="solid", color="burlywood", weight=3]; 7333[label="vyv400/Zero",fontsize=10,color="white",style="solid",shape="box"];81 -> 7333[label="",style="solid", color="burlywood", weight=9]; 7333 -> 86[label="",style="solid", color="burlywood", weight=3]; 82[label="pr2F3 (primEqInt (Pos (Succ vyv400)) (fromInt (Pos Zero))) vyv3 (Pos (Succ vyv400)) vyv3",fontsize=16,color="black",shape="triangle"];82 -> 87[label="",style="solid", color="black", weight=3]; 83 -> 82[label="",style="dashed", color="red", weight=0]; 83[label="pr2F3 (primEqInt (Pos (Succ (Succ (primPlusNat vyv400 vyv500)))) (fromInt (Pos Zero))) vyv3 (Pos (Succ (Succ (primPlusNat vyv400 vyv500)))) vyv3",fontsize=16,color="magenta"];83 -> 88[label="",style="dashed", color="magenta", weight=3]; 84 -> 82[label="",style="dashed", color="red", weight=0]; 84[label="pr2F3 (primEqInt (Pos (Succ vyv400)) (fromInt (Pos Zero))) vyv3 (Pos (Succ vyv400)) vyv3",fontsize=16,color="magenta"];85[label="pr2F3 (primEqInt (primMinusNat (Succ vyv4000) vyv500) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv4000) vyv500) vyv3",fontsize=16,color="burlywood",shape="box"];7334[label="vyv500/Succ vyv5000",fontsize=10,color="white",style="solid",shape="box"];85 -> 7334[label="",style="solid", color="burlywood", weight=9]; 7334 -> 89[label="",style="solid", color="burlywood", weight=3]; 7335[label="vyv500/Zero",fontsize=10,color="white",style="solid",shape="box"];85 -> 7335[label="",style="solid", color="burlywood", weight=9]; 7335 -> 90[label="",style="solid", color="burlywood", weight=3]; 86[label="pr2F3 (primEqInt (primMinusNat Zero vyv500) (fromInt (Pos Zero))) vyv3 (primMinusNat Zero vyv500) vyv3",fontsize=16,color="burlywood",shape="box"];7336[label="vyv500/Succ vyv5000",fontsize=10,color="white",style="solid",shape="box"];86 -> 7336[label="",style="solid", color="burlywood", weight=9]; 7336 -> 91[label="",style="solid", color="burlywood", weight=3]; 7337[label="vyv500/Zero",fontsize=10,color="white",style="solid",shape="box"];86 -> 7337[label="",style="solid", color="burlywood", weight=9]; 7337 -> 92[label="",style="solid", color="burlywood", weight=3]; 87[label="pr2F3 (primEqInt (Pos (Succ vyv400)) (Pos Zero)) vyv3 (Pos (Succ vyv400)) vyv3",fontsize=16,color="black",shape="box"];87 -> 93[label="",style="solid", color="black", weight=3]; 88[label="Succ (primPlusNat vyv400 vyv500)",fontsize=16,color="green",shape="box"];88 -> 94[label="",style="dashed", color="green", weight=3]; 89[label="pr2F3 (primEqInt (primMinusNat (Succ vyv4000) (Succ vyv5000)) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv4000) (Succ vyv5000)) vyv3",fontsize=16,color="black",shape="box"];89 -> 95[label="",style="solid", color="black", weight=3]; 90[label="pr2F3 (primEqInt (primMinusNat (Succ vyv4000) Zero) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv4000) Zero) vyv3",fontsize=16,color="black",shape="box"];90 -> 96[label="",style="solid", color="black", weight=3]; 91[label="pr2F3 (primEqInt (primMinusNat Zero (Succ vyv5000)) (fromInt (Pos Zero))) vyv3 (primMinusNat Zero (Succ vyv5000)) vyv3",fontsize=16,color="black",shape="box"];91 -> 97[label="",style="solid", color="black", weight=3]; 92[label="pr2F3 (primEqInt (primMinusNat Zero Zero) (fromInt (Pos Zero))) vyv3 (primMinusNat Zero Zero) vyv3",fontsize=16,color="black",shape="box"];92 -> 98[label="",style="solid", color="black", weight=3]; 93[label="pr2F3 False vyv3 (Pos (Succ vyv400)) vyv3",fontsize=16,color="black",shape="box"];93 -> 99[label="",style="solid", color="black", weight=3]; 94[label="primPlusNat vyv400 vyv500",fontsize=16,color="burlywood",shape="triangle"];7338[label="vyv400/Succ vyv4000",fontsize=10,color="white",style="solid",shape="box"];94 -> 7338[label="",style="solid", color="burlywood", weight=9]; 7338 -> 100[label="",style="solid", color="burlywood", weight=3]; 7339[label="vyv400/Zero",fontsize=10,color="white",style="solid",shape="box"];94 -> 7339[label="",style="solid", color="burlywood", weight=9]; 7339 -> 101[label="",style="solid", color="burlywood", weight=3]; 95 -> 81[label="",style="dashed", color="red", weight=0]; 95[label="pr2F3 (primEqInt (primMinusNat vyv4000 vyv5000) (fromInt (Pos Zero))) vyv3 (primMinusNat vyv4000 vyv5000) vyv3",fontsize=16,color="magenta"];95 -> 102[label="",style="dashed", color="magenta", weight=3]; 95 -> 103[label="",style="dashed", color="magenta", weight=3]; 96 -> 82[label="",style="dashed", color="red", weight=0]; 96[label="pr2F3 (primEqInt (Pos (Succ vyv4000)) (fromInt (Pos Zero))) vyv3 (Pos (Succ vyv4000)) vyv3",fontsize=16,color="magenta"];96 -> 104[label="",style="dashed", color="magenta", weight=3]; 97[label="pr2F3 (primEqInt (Neg (Succ vyv5000)) (fromInt (Pos Zero))) vyv3 (Neg (Succ vyv5000)) vyv3",fontsize=16,color="black",shape="box"];97 -> 105[label="",style="solid", color="black", weight=3]; 98[label="pr2F3 (primEqInt (Pos Zero) (fromInt (Pos Zero))) vyv3 (Pos Zero) vyv3",fontsize=16,color="black",shape="box"];98 -> 106[label="",style="solid", color="black", weight=3]; 99[label="pr2F0 vyv3 (Pos (Succ vyv400)) vyv3",fontsize=16,color="black",shape="box"];99 -> 107[label="",style="solid", color="black", weight=3]; 100[label="primPlusNat (Succ vyv4000) vyv500",fontsize=16,color="burlywood",shape="box"];7340[label="vyv500/Succ vyv5000",fontsize=10,color="white",style="solid",shape="box"];100 -> 7340[label="",style="solid", color="burlywood", weight=9]; 7340 -> 108[label="",style="solid", color="burlywood", weight=3]; 7341[label="vyv500/Zero",fontsize=10,color="white",style="solid",shape="box"];100 -> 7341[label="",style="solid", color="burlywood", weight=9]; 7341 -> 109[label="",style="solid", color="burlywood", weight=3]; 101[label="primPlusNat Zero vyv500",fontsize=16,color="burlywood",shape="box"];7342[label="vyv500/Succ vyv5000",fontsize=10,color="white",style="solid",shape="box"];101 -> 7342[label="",style="solid", color="burlywood", weight=9]; 7342 -> 110[label="",style="solid", color="burlywood", weight=3]; 7343[label="vyv500/Zero",fontsize=10,color="white",style="solid",shape="box"];101 -> 7343[label="",style="solid", color="burlywood", weight=9]; 7343 -> 111[label="",style="solid", color="burlywood", weight=3]; 102[label="vyv4000",fontsize=16,color="green",shape="box"];103[label="vyv5000",fontsize=16,color="green",shape="box"];104[label="vyv4000",fontsize=16,color="green",shape="box"];105[label="pr2F3 (primEqInt (Neg (Succ vyv5000)) (Pos Zero)) vyv3 (Neg (Succ vyv5000)) vyv3",fontsize=16,color="black",shape="box"];105 -> 112[label="",style="solid", color="black", weight=3]; 106[label="pr2F3 (primEqInt (Pos Zero) (Pos Zero)) vyv3 (Pos Zero) vyv3",fontsize=16,color="black",shape="box"];106 -> 113[label="",style="solid", color="black", weight=3]; 107[label="pr2F0G vyv3 vyv3 (Pos (Succ vyv400))",fontsize=16,color="black",shape="box"];107 -> 114[label="",style="solid", color="black", weight=3]; 108[label="primPlusNat (Succ vyv4000) (Succ vyv5000)",fontsize=16,color="black",shape="box"];108 -> 115[label="",style="solid", color="black", weight=3]; 109[label="primPlusNat (Succ vyv4000) Zero",fontsize=16,color="black",shape="box"];109 -> 116[label="",style="solid", color="black", weight=3]; 110[label="primPlusNat Zero (Succ vyv5000)",fontsize=16,color="black",shape="box"];110 -> 117[label="",style="solid", color="black", weight=3]; 111[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];111 -> 118[label="",style="solid", color="black", weight=3]; 112[label="pr2F3 False vyv3 (Neg (Succ vyv5000)) vyv3",fontsize=16,color="black",shape="box"];112 -> 119[label="",style="solid", color="black", weight=3]; 113[label="pr2F3 True vyv3 (Pos Zero) vyv3",fontsize=16,color="black",shape="box"];113 -> 120[label="",style="solid", color="black", weight=3]; 114[label="pr2F0G2 vyv3 vyv3 (Pos (Succ vyv400))",fontsize=16,color="black",shape="box"];114 -> 121[label="",style="solid", color="black", weight=3]; 115[label="Succ (Succ (primPlusNat vyv4000 vyv5000))",fontsize=16,color="green",shape="box"];115 -> 122[label="",style="dashed", color="green", weight=3]; 116[label="Succ vyv4000",fontsize=16,color="green",shape="box"];117[label="Succ vyv5000",fontsize=16,color="green",shape="box"];118[label="Zero",fontsize=16,color="green",shape="box"];119[label="pr2F0 vyv3 (Neg (Succ vyv5000)) vyv3",fontsize=16,color="black",shape="box"];119 -> 123[label="",style="solid", color="black", weight=3]; 120[label="vyv3",fontsize=16,color="green",shape="box"];121[label="pr2F0G1 vyv3 vyv3 (Pos (Succ vyv400)) (even (Pos (Succ vyv400)))",fontsize=16,color="black",shape="box"];121 -> 124[label="",style="solid", color="black", weight=3]; 122 -> 94[label="",style="dashed", color="red", weight=0]; 122[label="primPlusNat vyv4000 vyv5000",fontsize=16,color="magenta"];122 -> 125[label="",style="dashed", color="magenta", weight=3]; 122 -> 126[label="",style="dashed", color="magenta", weight=3]; 123[label="pr2F0G vyv3 vyv3 (Neg (Succ vyv5000))",fontsize=16,color="black",shape="box"];123 -> 127[label="",style="solid", color="black", weight=3]; 124[label="pr2F0G1 vyv3 vyv3 (Pos (Succ vyv400)) (primEvenInt (Pos (Succ vyv400)))",fontsize=16,color="black",shape="box"];124 -> 128[label="",style="solid", color="black", weight=3]; 125[label="vyv4000",fontsize=16,color="green",shape="box"];126[label="vyv5000",fontsize=16,color="green",shape="box"];127[label="pr2F0G2 vyv3 vyv3 (Neg (Succ vyv5000))",fontsize=16,color="black",shape="box"];127 -> 129[label="",style="solid", color="black", weight=3]; 128 -> 279[label="",style="dashed", color="red", weight=0]; 128[label="pr2F0G1 vyv3 vyv3 (Pos (Succ vyv400)) (primEvenNat (Succ vyv400))",fontsize=16,color="magenta"];128 -> 280[label="",style="dashed", color="magenta", weight=3]; 128 -> 281[label="",style="dashed", color="magenta", weight=3]; 128 -> 282[label="",style="dashed", color="magenta", weight=3]; 129[label="pr2F0G1 vyv3 vyv3 (Neg (Succ vyv5000)) (even (Neg (Succ vyv5000)))",fontsize=16,color="black",shape="box"];129 -> 132[label="",style="solid", color="black", weight=3]; 280[label="vyv3",fontsize=16,color="green",shape="box"];281[label="Succ vyv400",fontsize=16,color="green",shape="box"];282[label="vyv400",fontsize=16,color="green",shape="box"];279[label="pr2F0G1 vyv20 vyv20 (Pos (Succ vyv21)) (primEvenNat vyv22)",fontsize=16,color="burlywood",shape="triangle"];7344[label="vyv22/Succ vyv220",fontsize=10,color="white",style="solid",shape="box"];279 -> 7344[label="",style="solid", color="burlywood", weight=9]; 7344 -> 298[label="",style="solid", color="burlywood", weight=3]; 7345[label="vyv22/Zero",fontsize=10,color="white",style="solid",shape="box"];279 -> 7345[label="",style="solid", color="burlywood", weight=9]; 7345 -> 299[label="",style="solid", color="burlywood", weight=3]; 132[label="pr2F0G1 vyv3 vyv3 (Neg (Succ vyv5000)) (primEvenInt (Neg (Succ vyv5000)))",fontsize=16,color="black",shape="box"];132 -> 135[label="",style="solid", color="black", weight=3]; 298[label="pr2F0G1 vyv20 vyv20 (Pos (Succ vyv21)) (primEvenNat (Succ vyv220))",fontsize=16,color="burlywood",shape="box"];7346[label="vyv220/Succ vyv2200",fontsize=10,color="white",style="solid",shape="box"];298 -> 7346[label="",style="solid", color="burlywood", weight=9]; 7346 -> 302[label="",style="solid", color="burlywood", weight=3]; 7347[label="vyv220/Zero",fontsize=10,color="white",style="solid",shape="box"];298 -> 7347[label="",style="solid", color="burlywood", weight=9]; 7347 -> 303[label="",style="solid", color="burlywood", weight=3]; 299[label="pr2F0G1 vyv20 vyv20 (Pos (Succ vyv21)) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];299 -> 304[label="",style="solid", color="black", weight=3]; 135 -> 222[label="",style="dashed", color="red", weight=0]; 135[label="pr2F0G1 vyv3 vyv3 (Neg (Succ vyv5000)) (primEvenNat (Succ vyv5000))",fontsize=16,color="magenta"];135 -> 223[label="",style="dashed", color="magenta", weight=3]; 135 -> 224[label="",style="dashed", color="magenta", weight=3]; 135 -> 225[label="",style="dashed", color="magenta", weight=3]; 302[label="pr2F0G1 vyv20 vyv20 (Pos (Succ vyv21)) (primEvenNat (Succ (Succ vyv2200)))",fontsize=16,color="black",shape="box"];302 -> 307[label="",style="solid", color="black", weight=3]; 303[label="pr2F0G1 vyv20 vyv20 (Pos (Succ vyv21)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];303 -> 308[label="",style="solid", color="black", weight=3]; 304[label="pr2F0G1 vyv20 vyv20 (Pos (Succ vyv21)) True",fontsize=16,color="black",shape="box"];304 -> 309[label="",style="solid", color="black", weight=3]; 223[label="Succ vyv5000",fontsize=16,color="green",shape="box"];224[label="vyv5000",fontsize=16,color="green",shape="box"];225[label="vyv3",fontsize=16,color="green",shape="box"];222[label="pr2F0G1 vyv12 vyv12 (Neg (Succ vyv13)) (primEvenNat vyv14)",fontsize=16,color="burlywood",shape="triangle"];7348[label="vyv14/Succ vyv140",fontsize=10,color="white",style="solid",shape="box"];222 -> 7348[label="",style="solid", color="burlywood", weight=9]; 7348 -> 235[label="",style="solid", color="burlywood", weight=3]; 7349[label="vyv14/Zero",fontsize=10,color="white",style="solid",shape="box"];222 -> 7349[label="",style="solid", color="burlywood", weight=9]; 7349 -> 236[label="",style="solid", color="burlywood", weight=3]; 307 -> 279[label="",style="dashed", color="red", weight=0]; 307[label="pr2F0G1 vyv20 vyv20 (Pos (Succ vyv21)) (primEvenNat vyv2200)",fontsize=16,color="magenta"];307 -> 312[label="",style="dashed", color="magenta", weight=3]; 308[label="pr2F0G1 vyv20 vyv20 (Pos (Succ vyv21)) False",fontsize=16,color="black",shape="box"];308 -> 313[label="",style="solid", color="black", weight=3]; 309 -> 2645[label="",style="dashed", color="red", weight=0]; 309[label="pr2F0G vyv20 (vyv20 * vyv20) (Pos (Succ vyv21) `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];309 -> 2646[label="",style="dashed", color="magenta", weight=3]; 309 -> 2647[label="",style="dashed", color="magenta", weight=3]; 309 -> 2648[label="",style="dashed", color="magenta", weight=3]; 235[label="pr2F0G1 vyv12 vyv12 (Neg (Succ vyv13)) (primEvenNat (Succ vyv140))",fontsize=16,color="burlywood",shape="box"];7350[label="vyv140/Succ vyv1400",fontsize=10,color="white",style="solid",shape="box"];235 -> 7350[label="",style="solid", color="burlywood", weight=9]; 7350 -> 239[label="",style="solid", color="burlywood", weight=3]; 7351[label="vyv140/Zero",fontsize=10,color="white",style="solid",shape="box"];235 -> 7351[label="",style="solid", color="burlywood", weight=9]; 7351 -> 240[label="",style="solid", color="burlywood", weight=3]; 236[label="pr2F0G1 vyv12 vyv12 (Neg (Succ vyv13)) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];236 -> 241[label="",style="solid", color="black", weight=3]; 312[label="vyv2200",fontsize=16,color="green",shape="box"];313[label="pr2F0G0 vyv20 vyv20 (Pos (Succ vyv21)) otherwise",fontsize=16,color="black",shape="box"];313 -> 317[label="",style="solid", color="black", weight=3]; 2646[label="vyv20",fontsize=16,color="green",shape="box"];2647[label="Pos (Succ vyv21)",fontsize=16,color="green",shape="box"];2648[label="vyv20",fontsize=16,color="green",shape="box"];2645[label="pr2F0G vyv209 (vyv210 * vyv210) (vyv211 `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="black",shape="triangle"];2645 -> 2742[label="",style="solid", color="black", weight=3]; 239[label="pr2F0G1 vyv12 vyv12 (Neg (Succ vyv13)) (primEvenNat (Succ (Succ vyv1400)))",fontsize=16,color="black",shape="box"];239 -> 250[label="",style="solid", color="black", weight=3]; 240[label="pr2F0G1 vyv12 vyv12 (Neg (Succ vyv13)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];240 -> 251[label="",style="solid", color="black", weight=3]; 241[label="pr2F0G1 vyv12 vyv12 (Neg (Succ vyv13)) True",fontsize=16,color="black",shape="box"];241 -> 252[label="",style="solid", color="black", weight=3]; 317[label="pr2F0G0 vyv20 vyv20 (Pos (Succ vyv21)) True",fontsize=16,color="black",shape="box"];317 -> 321[label="",style="solid", color="black", weight=3]; 2742[label="pr2F0G2 vyv209 (vyv210 * vyv210) (vyv211 `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="black",shape="box"];2742 -> 2794[label="",style="solid", color="black", weight=3]; 250 -> 222[label="",style="dashed", color="red", weight=0]; 250[label="pr2F0G1 vyv12 vyv12 (Neg (Succ vyv13)) (primEvenNat vyv1400)",fontsize=16,color="magenta"];250 -> 260[label="",style="dashed", color="magenta", weight=3]; 251[label="pr2F0G1 vyv12 vyv12 (Neg (Succ vyv13)) False",fontsize=16,color="black",shape="box"];251 -> 261[label="",style="solid", color="black", weight=3]; 252 -> 2645[label="",style="dashed", color="red", weight=0]; 252[label="pr2F0G vyv12 (vyv12 * vyv12) (Neg (Succ vyv13) `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];252 -> 2649[label="",style="dashed", color="magenta", weight=3]; 252 -> 2650[label="",style="dashed", color="magenta", weight=3]; 252 -> 2651[label="",style="dashed", color="magenta", weight=3]; 321 -> 325[label="",style="dashed", color="red", weight=0]; 321[label="pr2F vyv20 (Pos (Succ vyv21) - fromInt (Pos (Succ Zero))) (vyv20 * vyv20)",fontsize=16,color="magenta"];321 -> 326[label="",style="dashed", color="magenta", weight=3]; 2794 -> 2826[label="",style="dashed", color="red", weight=0]; 2794[label="pr2F0G1 vyv209 (vyv210 * vyv210) (vyv211 `quot` fromInt (Pos (Succ (Succ Zero)))) (even (vyv211 `quot` fromInt (Pos (Succ (Succ Zero)))))",fontsize=16,color="magenta"];2794 -> 2827[label="",style="dashed", color="magenta", weight=3]; 2794 -> 2828[label="",style="dashed", color="magenta", weight=3]; 2794 -> 2829[label="",style="dashed", color="magenta", weight=3]; 2794 -> 2830[label="",style="dashed", color="magenta", weight=3]; 260[label="vyv1400",fontsize=16,color="green",shape="box"];261[label="pr2F0G0 vyv12 vyv12 (Neg (Succ vyv13)) otherwise",fontsize=16,color="black",shape="box"];261 -> 276[label="",style="solid", color="black", weight=3]; 2649[label="vyv12",fontsize=16,color="green",shape="box"];2650[label="Neg (Succ vyv13)",fontsize=16,color="green",shape="box"];2651[label="vyv12",fontsize=16,color="green",shape="box"];326 -> 29[label="",style="dashed", color="red", weight=0]; 326[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];325[label="pr2F vyv20 (Pos (Succ vyv21) - vyv24) (vyv20 * vyv20)",fontsize=16,color="black",shape="triangle"];325 -> 328[label="",style="solid", color="black", weight=3]; 2827[label="vyv209",fontsize=16,color="green",shape="box"];2828[label="vyv211",fontsize=16,color="green",shape="box"];2829[label="vyv210",fontsize=16,color="green",shape="box"];2830[label="even (vyv211 `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="blue",shape="box"];7352[label="even :: Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];2830 -> 7352[label="",style="solid", color="blue", weight=9]; 7352 -> 2831[label="",style="solid", color="blue", weight=3]; 7353[label="even :: Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];2830 -> 7353[label="",style="solid", color="blue", weight=9]; 7353 -> 2832[label="",style="solid", color="blue", weight=3]; 2826[label="pr2F0G1 vyv220 (vyv221 * vyv221) (vyv222 `quot` fromInt (Pos (Succ (Succ Zero)))) vyv223",fontsize=16,color="burlywood",shape="triangle"];7354[label="vyv223/False",fontsize=10,color="white",style="solid",shape="box"];2826 -> 7354[label="",style="solid", color="burlywood", weight=9]; 7354 -> 2833[label="",style="solid", color="burlywood", weight=3]; 7355[label="vyv223/True",fontsize=10,color="white",style="solid",shape="box"];2826 -> 7355[label="",style="solid", color="burlywood", weight=9]; 7355 -> 2834[label="",style="solid", color="burlywood", weight=3]; 276[label="pr2F0G0 vyv12 vyv12 (Neg (Succ vyv13)) True",fontsize=16,color="black",shape="box"];276 -> 300[label="",style="solid", color="black", weight=3]; 328[label="pr2F4 vyv20 (Pos (Succ vyv21) - vyv24) (vyv20 * vyv20)",fontsize=16,color="black",shape="box"];328 -> 333[label="",style="solid", color="black", weight=3]; 2831 -> 3293[label="",style="dashed", color="red", weight=0]; 2831[label="even (vyv211 `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];2831 -> 3294[label="",style="dashed", color="magenta", weight=3]; 2832 -> 3322[label="",style="dashed", color="red", weight=0]; 2832[label="even (vyv211 `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];2832 -> 3323[label="",style="dashed", color="magenta", weight=3]; 2833[label="pr2F0G1 vyv220 (vyv221 * vyv221) (vyv222 `quot` fromInt (Pos (Succ (Succ Zero)))) False",fontsize=16,color="black",shape="box"];2833 -> 2851[label="",style="solid", color="black", weight=3]; 2834[label="pr2F0G1 vyv220 (vyv221 * vyv221) (vyv222 `quot` fromInt (Pos (Succ (Succ Zero)))) True",fontsize=16,color="black",shape="box"];2834 -> 2852[label="",style="solid", color="black", weight=3]; 300 -> 305[label="",style="dashed", color="red", weight=0]; 300[label="pr2F vyv12 (Neg (Succ vyv13) - fromInt (Pos (Succ Zero))) (vyv12 * vyv12)",fontsize=16,color="magenta"];300 -> 306[label="",style="dashed", color="magenta", weight=3]; 333[label="pr2F3 (Pos (Succ vyv21) - vyv24 == fromInt (Pos Zero)) vyv20 (Pos (Succ vyv21) - vyv24) (vyv20 * vyv20)",fontsize=16,color="black",shape="box"];333 -> 339[label="",style="solid", color="black", weight=3]; 3294 -> 2890[label="",style="dashed", color="red", weight=0]; 3294[label="vyv211 `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];3294 -> 3296[label="",style="dashed", color="magenta", weight=3]; 3293[label="even vyv272",fontsize=16,color="black",shape="triangle"];3293 -> 3297[label="",style="solid", color="black", weight=3]; 3323 -> 2891[label="",style="dashed", color="red", weight=0]; 3323[label="vyv211 `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];3323 -> 3325[label="",style="dashed", color="magenta", weight=3]; 3322[label="even vyv286",fontsize=16,color="black",shape="triangle"];3322 -> 3326[label="",style="solid", color="black", weight=3]; 2851[label="pr2F0G0 vyv220 (vyv221 * vyv221) (vyv222 `quot` fromInt (Pos (Succ (Succ Zero)))) otherwise",fontsize=16,color="black",shape="box"];2851 -> 2870[label="",style="solid", color="black", weight=3]; 2852 -> 2645[label="",style="dashed", color="red", weight=0]; 2852[label="pr2F0G vyv220 (vyv221 * vyv221 * (vyv221 * vyv221)) (vyv222 `quot` fromInt (Pos (Succ (Succ Zero))) `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];2852 -> 2871[label="",style="dashed", color="magenta", weight=3]; 2852 -> 2872[label="",style="dashed", color="magenta", weight=3]; 2852 -> 2873[label="",style="dashed", color="magenta", weight=3]; 306 -> 29[label="",style="dashed", color="red", weight=0]; 306[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];305[label="pr2F vyv12 (Neg (Succ vyv13) - vyv23) (vyv12 * vyv12)",fontsize=16,color="black",shape="triangle"];305 -> 311[label="",style="solid", color="black", weight=3]; 339[label="pr2F3 (primEqInt (Pos (Succ vyv21) - vyv24) (fromInt (Pos Zero))) vyv20 (Pos (Succ vyv21) - vyv24) (vyv20 * vyv20)",fontsize=16,color="black",shape="box"];339 -> 346[label="",style="solid", color="black", weight=3]; 3296[label="vyv211",fontsize=16,color="green",shape="box"];2890[label="vyv222 `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="triangle"];2890 -> 2935[label="",style="solid", color="black", weight=3]; 3297[label="primEvenInt vyv272",fontsize=16,color="burlywood",shape="box"];7356[label="vyv272/Pos vyv2720",fontsize=10,color="white",style="solid",shape="box"];3297 -> 7356[label="",style="solid", color="burlywood", weight=9]; 7356 -> 3314[label="",style="solid", color="burlywood", weight=3]; 7357[label="vyv272/Neg vyv2720",fontsize=10,color="white",style="solid",shape="box"];3297 -> 7357[label="",style="solid", color="burlywood", weight=9]; 7357 -> 3315[label="",style="solid", color="burlywood", weight=3]; 3325[label="vyv211",fontsize=16,color="green",shape="box"];2891[label="vyv222 `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="burlywood",shape="triangle"];7358[label="vyv222/Integer vyv2220",fontsize=10,color="white",style="solid",shape="box"];2891 -> 7358[label="",style="solid", color="burlywood", weight=9]; 7358 -> 2936[label="",style="solid", color="burlywood", weight=3]; 3326[label="error []",fontsize=16,color="red",shape="box"];2870[label="pr2F0G0 vyv220 (vyv221 * vyv221) (vyv222 `quot` fromInt (Pos (Succ (Succ Zero)))) True",fontsize=16,color="black",shape="box"];2870 -> 2884[label="",style="solid", color="black", weight=3]; 2871[label="vyv221 * vyv221",fontsize=16,color="blue",shape="box"];7359[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];2871 -> 7359[label="",style="solid", color="blue", weight=9]; 7359 -> 2885[label="",style="solid", color="blue", weight=3]; 7360[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];2871 -> 7360[label="",style="solid", color="blue", weight=9]; 7360 -> 2886[label="",style="solid", color="blue", weight=3]; 7361[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];2871 -> 7361[label="",style="solid", color="blue", weight=9]; 7361 -> 2887[label="",style="solid", color="blue", weight=3]; 7362[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];2871 -> 7362[label="",style="solid", color="blue", weight=9]; 7362 -> 2888[label="",style="solid", color="blue", weight=3]; 7363[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];2871 -> 7363[label="",style="solid", color="blue", weight=9]; 7363 -> 2889[label="",style="solid", color="blue", weight=3]; 2872[label="vyv222 `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="blue",shape="box"];7364[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];2872 -> 7364[label="",style="solid", color="blue", weight=9]; 7364 -> 2890[label="",style="solid", color="blue", weight=3]; 7365[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];2872 -> 7365[label="",style="solid", color="blue", weight=9]; 7365 -> 2891[label="",style="solid", color="blue", weight=3]; 2873[label="vyv220",fontsize=16,color="green",shape="box"];311[label="pr2F4 vyv12 (Neg (Succ vyv13) - vyv23) (vyv12 * vyv12)",fontsize=16,color="black",shape="box"];311 -> 316[label="",style="solid", color="black", weight=3]; 346[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vyv21)) vyv24) (fromInt (Pos Zero))) vyv20 (primMinusInt (Pos (Succ vyv21)) vyv24) (vyv20 * vyv20)",fontsize=16,color="burlywood",shape="box"];7366[label="vyv24/Pos vyv240",fontsize=10,color="white",style="solid",shape="box"];346 -> 7366[label="",style="solid", color="burlywood", weight=9]; 7366 -> 359[label="",style="solid", color="burlywood", weight=3]; 7367[label="vyv24/Neg vyv240",fontsize=10,color="white",style="solid",shape="box"];346 -> 7367[label="",style="solid", color="burlywood", weight=9]; 7367 -> 360[label="",style="solid", color="burlywood", weight=3]; 2935[label="primQuotInt vyv222 (fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="burlywood",shape="box"];7368[label="vyv222/Pos vyv2220",fontsize=10,color="white",style="solid",shape="box"];2935 -> 7368[label="",style="solid", color="burlywood", weight=9]; 7368 -> 2952[label="",style="solid", color="burlywood", weight=3]; 7369[label="vyv222/Neg vyv2220",fontsize=10,color="white",style="solid",shape="box"];2935 -> 7369[label="",style="solid", color="burlywood", weight=9]; 7369 -> 2953[label="",style="solid", color="burlywood", weight=3]; 3314[label="primEvenInt (Pos vyv2720)",fontsize=16,color="black",shape="box"];3314 -> 3327[label="",style="solid", color="black", weight=3]; 3315[label="primEvenInt (Neg vyv2720)",fontsize=16,color="black",shape="box"];3315 -> 3328[label="",style="solid", color="black", weight=3]; 2936[label="Integer vyv2220 `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];2936 -> 2954[label="",style="solid", color="black", weight=3]; 2884[label="pr2F (vyv221 * vyv221) (vyv222 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))) (vyv221 * vyv221 * vyv220)",fontsize=16,color="black",shape="box"];2884 -> 2929[label="",style="solid", color="black", weight=3]; 2885[label="vyv221 * vyv221",fontsize=16,color="black",shape="box"];2885 -> 5136[label="",style="solid", color="black", weight=3]; 2886[label="vyv221 * vyv221",fontsize=16,color="black",shape="box"];2886 -> 5137[label="",style="solid", color="black", weight=3]; 2887[label="vyv221 * vyv221",fontsize=16,color="black",shape="box"];2887 -> 5138[label="",style="solid", color="black", weight=3]; 2888[label="vyv221 * vyv221",fontsize=16,color="burlywood",shape="box"];7370[label="vyv221/Integer vyv2210",fontsize=10,color="white",style="solid",shape="box"];2888 -> 7370[label="",style="solid", color="burlywood", weight=9]; 7370 -> 5139[label="",style="solid", color="burlywood", weight=3]; 2889[label="vyv221 * vyv221",fontsize=16,color="burlywood",shape="box"];7371[label="vyv221/vyv2210 :% vyv2211",fontsize=10,color="white",style="solid",shape="box"];2889 -> 7371[label="",style="solid", color="burlywood", weight=9]; 7371 -> 5140[label="",style="solid", color="burlywood", weight=3]; 316[label="pr2F3 (Neg (Succ vyv13) - vyv23 == fromInt (Pos Zero)) vyv12 (Neg (Succ vyv13) - vyv23) (vyv12 * vyv12)",fontsize=16,color="black",shape="box"];316 -> 320[label="",style="solid", color="black", weight=3]; 359[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vyv21)) (Pos vyv240)) (fromInt (Pos Zero))) vyv20 (primMinusInt (Pos (Succ vyv21)) (Pos vyv240)) (vyv20 * vyv20)",fontsize=16,color="black",shape="box"];359 -> 370[label="",style="solid", color="black", weight=3]; 360[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vyv21)) (Neg vyv240)) (fromInt (Pos Zero))) vyv20 (primMinusInt (Pos (Succ vyv21)) (Neg vyv240)) (vyv20 * vyv20)",fontsize=16,color="black",shape="box"];360 -> 371[label="",style="solid", color="black", weight=3]; 2952[label="primQuotInt (Pos vyv2220) (fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="black",shape="box"];2952 -> 2979[label="",style="solid", color="black", weight=3]; 2953[label="primQuotInt (Neg vyv2220) (fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="black",shape="box"];2953 -> 2980[label="",style="solid", color="black", weight=3]; 3327[label="primEvenNat vyv2720",fontsize=16,color="burlywood",shape="triangle"];7372[label="vyv2720/Succ vyv27200",fontsize=10,color="white",style="solid",shape="box"];3327 -> 7372[label="",style="solid", color="burlywood", weight=9]; 7372 -> 3368[label="",style="solid", color="burlywood", weight=3]; 7373[label="vyv2720/Zero",fontsize=10,color="white",style="solid",shape="box"];3327 -> 7373[label="",style="solid", color="burlywood", weight=9]; 7373 -> 3369[label="",style="solid", color="burlywood", weight=3]; 3328 -> 3327[label="",style="dashed", color="red", weight=0]; 3328[label="primEvenNat vyv2720",fontsize=16,color="magenta"];3328 -> 3370[label="",style="dashed", color="magenta", weight=3]; 2954 -> 3813[label="",style="dashed", color="red", weight=0]; 2954[label="Integer vyv2220 `quot` Integer (Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];2954 -> 3814[label="",style="dashed", color="magenta", weight=3]; 2954 -> 3815[label="",style="dashed", color="magenta", weight=3]; 2929[label="pr2F4 (vyv221 * vyv221) (vyv222 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))) (vyv221 * vyv221 * vyv220)",fontsize=16,color="black",shape="box"];2929 -> 2951[label="",style="solid", color="black", weight=3]; 5136 -> 2743[label="",style="dashed", color="red", weight=0]; 5136[label="primMulFloat vyv221 vyv221",fontsize=16,color="magenta"];5136 -> 5211[label="",style="dashed", color="magenta", weight=3]; 5137 -> 2744[label="",style="dashed", color="red", weight=0]; 5137[label="primMulDouble vyv221 vyv221",fontsize=16,color="magenta"];5137 -> 5212[label="",style="dashed", color="magenta", weight=3]; 5138 -> 2745[label="",style="dashed", color="red", weight=0]; 5138[label="primMulInt vyv221 vyv221",fontsize=16,color="magenta"];5138 -> 5213[label="",style="dashed", color="magenta", weight=3]; 5139[label="Integer vyv2210 * Integer vyv2210",fontsize=16,color="black",shape="box"];5139 -> 5214[label="",style="solid", color="black", weight=3]; 5140[label="vyv2210 :% vyv2211 * (vyv2210 :% vyv2211)",fontsize=16,color="black",shape="box"];5140 -> 5215[label="",style="solid", color="black", weight=3]; 320[label="pr2F3 (primEqInt (Neg (Succ vyv13) - vyv23) (fromInt (Pos Zero))) vyv12 (Neg (Succ vyv13) - vyv23) (vyv12 * vyv12)",fontsize=16,color="black",shape="box"];320 -> 324[label="",style="solid", color="black", weight=3]; 370 -> 361[label="",style="dashed", color="red", weight=0]; 370[label="pr2F3 (primEqInt (primMinusNat (Succ vyv21) vyv240) (fromInt (Pos Zero))) vyv20 (primMinusNat (Succ vyv21) vyv240) (vyv20 * vyv20)",fontsize=16,color="magenta"];370 -> 383[label="",style="dashed", color="magenta", weight=3]; 370 -> 384[label="",style="dashed", color="magenta", weight=3]; 370 -> 385[label="",style="dashed", color="magenta", weight=3]; 371 -> 386[label="",style="dashed", color="red", weight=0]; 371[label="pr2F3 (primEqInt (Pos (primPlusNat (Succ vyv21) vyv240)) (fromInt (Pos Zero))) vyv20 (Pos (primPlusNat (Succ vyv21) vyv240)) (vyv20 * vyv20)",fontsize=16,color="magenta"];371 -> 387[label="",style="dashed", color="magenta", weight=3]; 371 -> 388[label="",style="dashed", color="magenta", weight=3]; 2979 -> 3852[label="",style="dashed", color="red", weight=0]; 2979[label="primQuotInt (Pos vyv2220) (Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];2979 -> 3853[label="",style="dashed", color="magenta", weight=3]; 2979 -> 3854[label="",style="dashed", color="magenta", weight=3]; 2980[label="primQuotInt (Neg vyv2220) (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];2980 -> 3000[label="",style="solid", color="black", weight=3]; 3368[label="primEvenNat (Succ vyv27200)",fontsize=16,color="burlywood",shape="box"];7374[label="vyv27200/Succ vyv272000",fontsize=10,color="white",style="solid",shape="box"];3368 -> 7374[label="",style="solid", color="burlywood", weight=9]; 7374 -> 3413[label="",style="solid", color="burlywood", weight=3]; 7375[label="vyv27200/Zero",fontsize=10,color="white",style="solid",shape="box"];3368 -> 7375[label="",style="solid", color="burlywood", weight=9]; 7375 -> 3414[label="",style="solid", color="burlywood", weight=3]; 3369[label="primEvenNat Zero",fontsize=16,color="black",shape="box"];3369 -> 3415[label="",style="solid", color="black", weight=3]; 3370[label="vyv2720",fontsize=16,color="green",shape="box"];3814[label="Integer (Pos (Succ (Succ Zero)))",fontsize=16,color="green",shape="box"];3815[label="vyv2220",fontsize=16,color="green",shape="box"];3813[label="Integer vyv2960 `quot` vyv325",fontsize=16,color="burlywood",shape="triangle"];7376[label="vyv325/Integer vyv3250",fontsize=10,color="white",style="solid",shape="box"];3813 -> 7376[label="",style="solid", color="burlywood", weight=9]; 7376 -> 3829[label="",style="solid", color="burlywood", weight=3]; 2951 -> 2974[label="",style="dashed", color="red", weight=0]; 2951[label="pr2F3 (vyv222 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero)) == fromInt (Pos Zero)) (vyv221 * vyv221) (vyv222 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))) (vyv221 * vyv221 * vyv220)",fontsize=16,color="magenta"];2951 -> 2975[label="",style="dashed", color="magenta", weight=3]; 2951 -> 2976[label="",style="dashed", color="magenta", weight=3]; 2951 -> 2977[label="",style="dashed", color="magenta", weight=3]; 2951 -> 2978[label="",style="dashed", color="magenta", weight=3]; 5211[label="vyv221",fontsize=16,color="green",shape="box"];2743 -> 2821[label="",style="dashed", color="red", weight=0]; 2743[label="primMulFloat vyv20 vyv20",fontsize=16,color="magenta"];2743 -> 2822[label="",style="dashed", color="magenta", weight=3]; 2743 -> 2823[label="",style="dashed", color="magenta", weight=3]; 5212[label="vyv221",fontsize=16,color="green",shape="box"];2744 -> 2844[label="",style="dashed", color="red", weight=0]; 2744[label="primMulDouble vyv20 vyv20",fontsize=16,color="magenta"];2744 -> 2845[label="",style="dashed", color="magenta", weight=3]; 2744 -> 2846[label="",style="dashed", color="magenta", weight=3]; 5213[label="vyv221",fontsize=16,color="green",shape="box"];2745 -> 2860[label="",style="dashed", color="red", weight=0]; 2745[label="primMulInt vyv20 vyv20",fontsize=16,color="magenta"];2745 -> 2861[label="",style="dashed", color="magenta", weight=3]; 2745 -> 2862[label="",style="dashed", color="magenta", weight=3]; 5214[label="Integer (primMulInt vyv2210 vyv2210)",fontsize=16,color="green",shape="box"];5214 -> 5356[label="",style="dashed", color="green", weight=3]; 5215 -> 2800[label="",style="dashed", color="red", weight=0]; 5215[label="reduce (vyv2210 * vyv2210) (vyv2211 * vyv2211)",fontsize=16,color="magenta"];5215 -> 5357[label="",style="dashed", color="magenta", weight=3]; 5215 -> 5358[label="",style="dashed", color="magenta", weight=3]; 324[label="pr2F3 (primEqInt (primMinusInt (Neg (Succ vyv13)) vyv23) (fromInt (Pos Zero))) vyv12 (primMinusInt (Neg (Succ vyv13)) vyv23) (vyv12 * vyv12)",fontsize=16,color="burlywood",shape="box"];7377[label="vyv23/Pos vyv230",fontsize=10,color="white",style="solid",shape="box"];324 -> 7377[label="",style="solid", color="burlywood", weight=9]; 7377 -> 330[label="",style="solid", color="burlywood", weight=3]; 7378[label="vyv23/Neg vyv230",fontsize=10,color="white",style="solid",shape="box"];324 -> 7378[label="",style="solid", color="burlywood", weight=9]; 7378 -> 331[label="",style="solid", color="burlywood", weight=3]; 383[label="vyv240",fontsize=16,color="green",shape="box"];384[label="vyv20",fontsize=16,color="green",shape="box"];385[label="Succ vyv21",fontsize=16,color="green",shape="box"];361[label="pr2F3 (primEqInt (primMinusNat vyv2300 vyv13) (fromInt (Pos Zero))) vyv12 (primMinusNat vyv2300 vyv13) (vyv12 * vyv12)",fontsize=16,color="burlywood",shape="triangle"];7379[label="vyv2300/Succ vyv23000",fontsize=10,color="white",style="solid",shape="box"];361 -> 7379[label="",style="solid", color="burlywood", weight=9]; 7379 -> 372[label="",style="solid", color="burlywood", weight=3]; 7380[label="vyv2300/Zero",fontsize=10,color="white",style="solid",shape="box"];361 -> 7380[label="",style="solid", color="burlywood", weight=9]; 7380 -> 373[label="",style="solid", color="burlywood", weight=3]; 387 -> 94[label="",style="dashed", color="red", weight=0]; 387[label="primPlusNat (Succ vyv21) vyv240",fontsize=16,color="magenta"];387 -> 392[label="",style="dashed", color="magenta", weight=3]; 387 -> 393[label="",style="dashed", color="magenta", weight=3]; 388 -> 94[label="",style="dashed", color="red", weight=0]; 388[label="primPlusNat (Succ vyv21) vyv240",fontsize=16,color="magenta"];388 -> 394[label="",style="dashed", color="magenta", weight=3]; 388 -> 395[label="",style="dashed", color="magenta", weight=3]; 386[label="pr2F3 (primEqInt (Pos vyv28) (fromInt (Pos Zero))) vyv20 (Pos vyv27) (vyv20 * vyv20)",fontsize=16,color="burlywood",shape="triangle"];7381[label="vyv28/Succ vyv280",fontsize=10,color="white",style="solid",shape="box"];386 -> 7381[label="",style="solid", color="burlywood", weight=9]; 7381 -> 396[label="",style="solid", color="burlywood", weight=3]; 7382[label="vyv28/Zero",fontsize=10,color="white",style="solid",shape="box"];386 -> 7382[label="",style="solid", color="burlywood", weight=9]; 7382 -> 397[label="",style="solid", color="burlywood", weight=3]; 3853[label="Pos (Succ (Succ Zero))",fontsize=16,color="green",shape="box"];3854[label="vyv2220",fontsize=16,color="green",shape="box"];3852[label="primQuotInt (Pos vyv2930) vyv327",fontsize=16,color="burlywood",shape="triangle"];7383[label="vyv327/Pos vyv3270",fontsize=10,color="white",style="solid",shape="box"];3852 -> 7383[label="",style="solid", color="burlywood", weight=9]; 7383 -> 3868[label="",style="solid", color="burlywood", weight=3]; 7384[label="vyv327/Neg vyv3270",fontsize=10,color="white",style="solid",shape="box"];3852 -> 7384[label="",style="solid", color="burlywood", weight=9]; 7384 -> 3869[label="",style="solid", color="burlywood", weight=3]; 3000[label="Neg (primDivNatS vyv2220 (Succ (Succ Zero)))",fontsize=16,color="green",shape="box"];3000 -> 3033[label="",style="dashed", color="green", weight=3]; 3413[label="primEvenNat (Succ (Succ vyv272000))",fontsize=16,color="black",shape="box"];3413 -> 3441[label="",style="solid", color="black", weight=3]; 3414[label="primEvenNat (Succ Zero)",fontsize=16,color="black",shape="box"];3414 -> 3442[label="",style="solid", color="black", weight=3]; 3415[label="True",fontsize=16,color="green",shape="box"];3829[label="Integer vyv2960 `quot` Integer vyv3250",fontsize=16,color="black",shape="box"];3829 -> 3850[label="",style="solid", color="black", weight=3]; 2975[label="vyv221",fontsize=16,color="green",shape="box"];2976[label="vyv222",fontsize=16,color="green",shape="box"];2977[label="vyv222 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero)) == fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];7385[label="== :: -> Int (-> Int Bool)",fontsize=10,color="white",style="solid",shape="box"];2977 -> 7385[label="",style="solid", color="blue", weight=9]; 7385 -> 2985[label="",style="solid", color="blue", weight=3]; 7386[label="== :: -> Integer (-> Integer Bool)",fontsize=10,color="white",style="solid",shape="box"];2977 -> 7386[label="",style="solid", color="blue", weight=9]; 7386 -> 2986[label="",style="solid", color="blue", weight=3]; 2978[label="vyv220",fontsize=16,color="green",shape="box"];2974[label="pr2F3 vyv240 (vyv241 * vyv241) (vyv242 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))) (vyv241 * vyv241 * vyv243)",fontsize=16,color="burlywood",shape="triangle"];7387[label="vyv240/False",fontsize=10,color="white",style="solid",shape="box"];2974 -> 7387[label="",style="solid", color="burlywood", weight=9]; 7387 -> 2987[label="",style="solid", color="burlywood", weight=3]; 7388[label="vyv240/True",fontsize=10,color="white",style="solid",shape="box"];2974 -> 7388[label="",style="solid", color="burlywood", weight=9]; 7388 -> 2988[label="",style="solid", color="burlywood", weight=3]; 2822[label="vyv20",fontsize=16,color="green",shape="box"];2823[label="vyv20",fontsize=16,color="green",shape="box"];2821[label="primMulFloat vyv12 vyv214",fontsize=16,color="burlywood",shape="triangle"];7389[label="vyv12/Float vyv120 vyv121",fontsize=10,color="white",style="solid",shape="box"];2821 -> 7389[label="",style="solid", color="burlywood", weight=9]; 7389 -> 2835[label="",style="solid", color="burlywood", weight=3]; 2845[label="vyv20",fontsize=16,color="green",shape="box"];2846[label="vyv20",fontsize=16,color="green",shape="box"];2844[label="primMulDouble vyv12 vyv224",fontsize=16,color="burlywood",shape="triangle"];7390[label="vyv12/Double vyv120 vyv121",fontsize=10,color="white",style="solid",shape="box"];2844 -> 7390[label="",style="solid", color="burlywood", weight=9]; 7390 -> 2853[label="",style="solid", color="burlywood", weight=3]; 2861[label="vyv20",fontsize=16,color="green",shape="box"];2862[label="vyv20",fontsize=16,color="green",shape="box"];2860[label="primMulInt vyv12 vyv225",fontsize=16,color="burlywood",shape="triangle"];7391[label="vyv12/Pos vyv120",fontsize=10,color="white",style="solid",shape="box"];2860 -> 7391[label="",style="solid", color="burlywood", weight=9]; 7391 -> 2874[label="",style="solid", color="burlywood", weight=3]; 7392[label="vyv12/Neg vyv120",fontsize=10,color="white",style="solid",shape="box"];2860 -> 7392[label="",style="solid", color="burlywood", weight=9]; 7392 -> 2875[label="",style="solid", color="burlywood", weight=3]; 5356 -> 2745[label="",style="dashed", color="red", weight=0]; 5356[label="primMulInt vyv2210 vyv2210",fontsize=16,color="magenta"];5356 -> 5374[label="",style="dashed", color="magenta", weight=3]; 5357[label="vyv2211",fontsize=16,color="green",shape="box"];5358[label="vyv2210",fontsize=16,color="green",shape="box"];2800[label="reduce (vyv200 * vyv200) (vyv201 * vyv201)",fontsize=16,color="black",shape="triangle"];2800 -> 2840[label="",style="solid", color="black", weight=3]; 330[label="pr2F3 (primEqInt (primMinusInt (Neg (Succ vyv13)) (Pos vyv230)) (fromInt (Pos Zero))) vyv12 (primMinusInt (Neg (Succ vyv13)) (Pos vyv230)) (vyv12 * vyv12)",fontsize=16,color="black",shape="box"];330 -> 336[label="",style="solid", color="black", weight=3]; 331[label="pr2F3 (primEqInt (primMinusInt (Neg (Succ vyv13)) (Neg vyv230)) (fromInt (Pos Zero))) vyv12 (primMinusInt (Neg (Succ vyv13)) (Neg vyv230)) (vyv12 * vyv12)",fontsize=16,color="black",shape="box"];331 -> 337[label="",style="solid", color="black", weight=3]; 372[label="pr2F3 (primEqInt (primMinusNat (Succ vyv23000) vyv13) (fromInt (Pos Zero))) vyv12 (primMinusNat (Succ vyv23000) vyv13) (vyv12 * vyv12)",fontsize=16,color="burlywood",shape="box"];7393[label="vyv13/Succ vyv130",fontsize=10,color="white",style="solid",shape="box"];372 -> 7393[label="",style="solid", color="burlywood", weight=9]; 7393 -> 398[label="",style="solid", color="burlywood", weight=3]; 7394[label="vyv13/Zero",fontsize=10,color="white",style="solid",shape="box"];372 -> 7394[label="",style="solid", color="burlywood", weight=9]; 7394 -> 399[label="",style="solid", color="burlywood", weight=3]; 373[label="pr2F3 (primEqInt (primMinusNat Zero vyv13) (fromInt (Pos Zero))) vyv12 (primMinusNat Zero vyv13) (vyv12 * vyv12)",fontsize=16,color="burlywood",shape="box"];7395[label="vyv13/Succ vyv130",fontsize=10,color="white",style="solid",shape="box"];373 -> 7395[label="",style="solid", color="burlywood", weight=9]; 7395 -> 400[label="",style="solid", color="burlywood", weight=3]; 7396[label="vyv13/Zero",fontsize=10,color="white",style="solid",shape="box"];373 -> 7396[label="",style="solid", color="burlywood", weight=9]; 7396 -> 401[label="",style="solid", color="burlywood", weight=3]; 392[label="Succ vyv21",fontsize=16,color="green",shape="box"];393[label="vyv240",fontsize=16,color="green",shape="box"];394[label="Succ vyv21",fontsize=16,color="green",shape="box"];395[label="vyv240",fontsize=16,color="green",shape="box"];396[label="pr2F3 (primEqInt (Pos (Succ vyv280)) (fromInt (Pos Zero))) vyv20 (Pos vyv27) (vyv20 * vyv20)",fontsize=16,color="black",shape="box"];396 -> 410[label="",style="solid", color="black", weight=3]; 397[label="pr2F3 (primEqInt (Pos Zero) (fromInt (Pos Zero))) vyv20 (Pos vyv27) (vyv20 * vyv20)",fontsize=16,color="black",shape="box"];397 -> 411[label="",style="solid", color="black", weight=3]; 3868[label="primQuotInt (Pos vyv2930) (Pos vyv3270)",fontsize=16,color="burlywood",shape="box"];7397[label="vyv3270/Succ vyv32700",fontsize=10,color="white",style="solid",shape="box"];3868 -> 7397[label="",style="solid", color="burlywood", weight=9]; 7397 -> 3874[label="",style="solid", color="burlywood", weight=3]; 7398[label="vyv3270/Zero",fontsize=10,color="white",style="solid",shape="box"];3868 -> 7398[label="",style="solid", color="burlywood", weight=9]; 7398 -> 3875[label="",style="solid", color="burlywood", weight=3]; 3869[label="primQuotInt (Pos vyv2930) (Neg vyv3270)",fontsize=16,color="burlywood",shape="box"];7399[label="vyv3270/Succ vyv32700",fontsize=10,color="white",style="solid",shape="box"];3869 -> 7399[label="",style="solid", color="burlywood", weight=9]; 7399 -> 3876[label="",style="solid", color="burlywood", weight=3]; 7400[label="vyv3270/Zero",fontsize=10,color="white",style="solid",shape="box"];3869 -> 7400[label="",style="solid", color="burlywood", weight=9]; 7400 -> 3877[label="",style="solid", color="burlywood", weight=3]; 3033 -> 3032[label="",style="dashed", color="red", weight=0]; 3033[label="primDivNatS vyv2220 (Succ (Succ Zero))",fontsize=16,color="magenta"];3033 -> 3065[label="",style="dashed", color="magenta", weight=3]; 3441 -> 3327[label="",style="dashed", color="red", weight=0]; 3441[label="primEvenNat vyv272000",fontsize=16,color="magenta"];3441 -> 3484[label="",style="dashed", color="magenta", weight=3]; 3442[label="False",fontsize=16,color="green",shape="box"];3850[label="Integer (primQuotInt vyv2960 vyv3250)",fontsize=16,color="green",shape="box"];3850 -> 3870[label="",style="dashed", color="green", weight=3]; 2985 -> 554[label="",style="dashed", color="red", weight=0]; 2985[label="vyv222 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];2985 -> 3004[label="",style="dashed", color="magenta", weight=3]; 2986 -> 2947[label="",style="dashed", color="red", weight=0]; 2986[label="vyv222 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];2986 -> 3005[label="",style="dashed", color="magenta", weight=3]; 2987[label="pr2F3 False (vyv241 * vyv241) (vyv242 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))) (vyv241 * vyv241 * vyv243)",fontsize=16,color="black",shape="box"];2987 -> 3006[label="",style="solid", color="black", weight=3]; 2988[label="pr2F3 True (vyv241 * vyv241) (vyv242 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))) (vyv241 * vyv241 * vyv243)",fontsize=16,color="black",shape="box"];2988 -> 3007[label="",style="solid", color="black", weight=3]; 2835[label="primMulFloat (Float vyv120 vyv121) vyv214",fontsize=16,color="burlywood",shape="box"];7401[label="vyv214/Float vyv2140 vyv2141",fontsize=10,color="white",style="solid",shape="box"];2835 -> 7401[label="",style="solid", color="burlywood", weight=9]; 7401 -> 2854[label="",style="solid", color="burlywood", weight=3]; 2853[label="primMulDouble (Double vyv120 vyv121) vyv224",fontsize=16,color="burlywood",shape="box"];7402[label="vyv224/Double vyv2240 vyv2241",fontsize=10,color="white",style="solid",shape="box"];2853 -> 7402[label="",style="solid", color="burlywood", weight=9]; 7402 -> 2876[label="",style="solid", color="burlywood", weight=3]; 2874[label="primMulInt (Pos vyv120) vyv225",fontsize=16,color="burlywood",shape="box"];7403[label="vyv225/Pos vyv2250",fontsize=10,color="white",style="solid",shape="box"];2874 -> 7403[label="",style="solid", color="burlywood", weight=9]; 7403 -> 2892[label="",style="solid", color="burlywood", weight=3]; 7404[label="vyv225/Neg vyv2250",fontsize=10,color="white",style="solid",shape="box"];2874 -> 7404[label="",style="solid", color="burlywood", weight=9]; 7404 -> 2893[label="",style="solid", color="burlywood", weight=3]; 2875[label="primMulInt (Neg vyv120) vyv225",fontsize=16,color="burlywood",shape="box"];7405[label="vyv225/Pos vyv2250",fontsize=10,color="white",style="solid",shape="box"];2875 -> 7405[label="",style="solid", color="burlywood", weight=9]; 7405 -> 2894[label="",style="solid", color="burlywood", weight=3]; 7406[label="vyv225/Neg vyv2250",fontsize=10,color="white",style="solid",shape="box"];2875 -> 7406[label="",style="solid", color="burlywood", weight=9]; 7406 -> 2895[label="",style="solid", color="burlywood", weight=3]; 5374[label="vyv2210",fontsize=16,color="green",shape="box"];2840[label="reduce2 (vyv200 * vyv200) (vyv201 * vyv201)",fontsize=16,color="black",shape="triangle"];2840 -> 2858[label="",style="solid", color="black", weight=3]; 336 -> 342[label="",style="dashed", color="red", weight=0]; 336[label="pr2F3 (primEqInt (Neg (primPlusNat (Succ vyv13) vyv230)) (fromInt (Pos Zero))) vyv12 (Neg (primPlusNat (Succ vyv13) vyv230)) (vyv12 * vyv12)",fontsize=16,color="magenta"];336 -> 343[label="",style="dashed", color="magenta", weight=3]; 336 -> 344[label="",style="dashed", color="magenta", weight=3]; 337[label="pr2F3 (primEqInt (primMinusNat vyv230 (Succ vyv13)) (fromInt (Pos Zero))) vyv12 (primMinusNat vyv230 (Succ vyv13)) (vyv12 * vyv12)",fontsize=16,color="burlywood",shape="box"];7407[label="vyv230/Succ vyv2300",fontsize=10,color="white",style="solid",shape="box"];337 -> 7407[label="",style="solid", color="burlywood", weight=9]; 7407 -> 347[label="",style="solid", color="burlywood", weight=3]; 7408[label="vyv230/Zero",fontsize=10,color="white",style="solid",shape="box"];337 -> 7408[label="",style="solid", color="burlywood", weight=9]; 7408 -> 348[label="",style="solid", color="burlywood", weight=3]; 398[label="pr2F3 (primEqInt (primMinusNat (Succ vyv23000) (Succ vyv130)) (fromInt (Pos Zero))) vyv12 (primMinusNat (Succ vyv23000) (Succ vyv130)) (vyv12 * vyv12)",fontsize=16,color="black",shape="box"];398 -> 412[label="",style="solid", color="black", weight=3]; 399[label="pr2F3 (primEqInt (primMinusNat (Succ vyv23000) Zero) (fromInt (Pos Zero))) vyv12 (primMinusNat (Succ vyv23000) Zero) (vyv12 * vyv12)",fontsize=16,color="black",shape="box"];399 -> 413[label="",style="solid", color="black", weight=3]; 400[label="pr2F3 (primEqInt (primMinusNat Zero (Succ vyv130)) (fromInt (Pos Zero))) vyv12 (primMinusNat Zero (Succ vyv130)) (vyv12 * vyv12)",fontsize=16,color="black",shape="box"];400 -> 414[label="",style="solid", color="black", weight=3]; 401[label="pr2F3 (primEqInt (primMinusNat Zero Zero) (fromInt (Pos Zero))) vyv12 (primMinusNat Zero Zero) (vyv12 * vyv12)",fontsize=16,color="black",shape="box"];401 -> 415[label="",style="solid", color="black", weight=3]; 410[label="pr2F3 (primEqInt (Pos (Succ vyv280)) (Pos Zero)) vyv20 (Pos vyv27) (vyv20 * vyv20)",fontsize=16,color="black",shape="box"];410 -> 428[label="",style="solid", color="black", weight=3]; 411[label="pr2F3 (primEqInt (Pos Zero) (Pos Zero)) vyv20 (Pos vyv27) (vyv20 * vyv20)",fontsize=16,color="black",shape="box"];411 -> 429[label="",style="solid", color="black", weight=3]; 3874[label="primQuotInt (Pos vyv2930) (Pos (Succ vyv32700))",fontsize=16,color="black",shape="box"];3874 -> 3914[label="",style="solid", color="black", weight=3]; 3875[label="primQuotInt (Pos vyv2930) (Pos Zero)",fontsize=16,color="black",shape="box"];3875 -> 3915[label="",style="solid", color="black", weight=3]; 3876[label="primQuotInt (Pos vyv2930) (Neg (Succ vyv32700))",fontsize=16,color="black",shape="box"];3876 -> 3916[label="",style="solid", color="black", weight=3]; 3877[label="primQuotInt (Pos vyv2930) (Neg Zero)",fontsize=16,color="black",shape="box"];3877 -> 3917[label="",style="solid", color="black", weight=3]; 3065[label="vyv2220",fontsize=16,color="green",shape="box"];3032[label="primDivNatS vyv2220 (Succ (Succ Zero))",fontsize=16,color="burlywood",shape="triangle"];7409[label="vyv2220/Succ vyv22200",fontsize=10,color="white",style="solid",shape="box"];3032 -> 7409[label="",style="solid", color="burlywood", weight=9]; 7409 -> 3063[label="",style="solid", color="burlywood", weight=3]; 7410[label="vyv2220/Zero",fontsize=10,color="white",style="solid",shape="box"];3032 -> 7410[label="",style="solid", color="burlywood", weight=9]; 7410 -> 3064[label="",style="solid", color="burlywood", weight=3]; 3484[label="vyv272000",fontsize=16,color="green",shape="box"];3870[label="primQuotInt vyv2960 vyv3250",fontsize=16,color="burlywood",shape="triangle"];7411[label="vyv2960/Pos vyv29600",fontsize=10,color="white",style="solid",shape="box"];3870 -> 7411[label="",style="solid", color="burlywood", weight=9]; 7411 -> 3878[label="",style="solid", color="burlywood", weight=3]; 7412[label="vyv2960/Neg vyv29600",fontsize=10,color="white",style="solid",shape="box"];3870 -> 7412[label="",style="solid", color="burlywood", weight=9]; 7412 -> 3879[label="",style="solid", color="burlywood", weight=3]; 3004 -> 3039[label="",style="dashed", color="red", weight=0]; 3004[label="vyv222 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];3004 -> 3040[label="",style="dashed", color="magenta", weight=3]; 3004 -> 3041[label="",style="dashed", color="magenta", weight=3]; 554[label="vyv37 == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];554 -> 636[label="",style="solid", color="black", weight=3]; 3005 -> 3054[label="",style="dashed", color="red", weight=0]; 3005[label="vyv222 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];3005 -> 3055[label="",style="dashed", color="magenta", weight=3]; 3005 -> 3056[label="",style="dashed", color="magenta", weight=3]; 2947[label="vyv233 == fromInt (Pos Zero)",fontsize=16,color="burlywood",shape="triangle"];7413[label="vyv233/Integer vyv2330",fontsize=10,color="white",style="solid",shape="box"];2947 -> 7413[label="",style="solid", color="burlywood", weight=9]; 7413 -> 2969[label="",style="solid", color="burlywood", weight=3]; 3006[label="pr2F0 (vyv241 * vyv241) (vyv242 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))) (vyv241 * vyv241 * vyv243)",fontsize=16,color="black",shape="box"];3006 -> 3057[label="",style="solid", color="black", weight=3]; 3007[label="vyv241 * vyv241 * vyv243",fontsize=16,color="blue",shape="box"];7414[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3007 -> 7414[label="",style="solid", color="blue", weight=9]; 7414 -> 3058[label="",style="solid", color="blue", weight=3]; 7415[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3007 -> 7415[label="",style="solid", color="blue", weight=9]; 7415 -> 3059[label="",style="solid", color="blue", weight=3]; 7416[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3007 -> 7416[label="",style="solid", color="blue", weight=9]; 7416 -> 3060[label="",style="solid", color="blue", weight=3]; 7417[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3007 -> 7417[label="",style="solid", color="blue", weight=9]; 7417 -> 3061[label="",style="solid", color="blue", weight=3]; 7418[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3007 -> 7418[label="",style="solid", color="blue", weight=9]; 7418 -> 3062[label="",style="solid", color="blue", weight=3]; 2854[label="primMulFloat (Float vyv120 vyv121) (Float vyv2140 vyv2141)",fontsize=16,color="black",shape="box"];2854 -> 2877[label="",style="solid", color="black", weight=3]; 2876[label="primMulDouble (Double vyv120 vyv121) (Double vyv2240 vyv2241)",fontsize=16,color="black",shape="box"];2876 -> 2896[label="",style="solid", color="black", weight=3]; 2892[label="primMulInt (Pos vyv120) (Pos vyv2250)",fontsize=16,color="black",shape="box"];2892 -> 2937[label="",style="solid", color="black", weight=3]; 2893[label="primMulInt (Pos vyv120) (Neg vyv2250)",fontsize=16,color="black",shape="box"];2893 -> 2938[label="",style="solid", color="black", weight=3]; 2894[label="primMulInt (Neg vyv120) (Pos vyv2250)",fontsize=16,color="black",shape="box"];2894 -> 2939[label="",style="solid", color="black", weight=3]; 2895[label="primMulInt (Neg vyv120) (Neg vyv2250)",fontsize=16,color="black",shape="box"];2895 -> 2940[label="",style="solid", color="black", weight=3]; 2858 -> 3298[label="",style="dashed", color="red", weight=0]; 2858[label="reduce2Reduce1 (vyv200 * vyv200) (vyv201 * vyv201) (vyv200 * vyv200) (vyv201 * vyv201) (vyv201 * vyv201 == fromInt (Pos Zero))",fontsize=16,color="magenta"];2858 -> 3304[label="",style="dashed", color="magenta", weight=3]; 2858 -> 3305[label="",style="dashed", color="magenta", weight=3]; 2858 -> 3306[label="",style="dashed", color="magenta", weight=3]; 2858 -> 3307[label="",style="dashed", color="magenta", weight=3]; 2858 -> 3308[label="",style="dashed", color="magenta", weight=3]; 343 -> 94[label="",style="dashed", color="red", weight=0]; 343[label="primPlusNat (Succ vyv13) vyv230",fontsize=16,color="magenta"];343 -> 352[label="",style="dashed", color="magenta", weight=3]; 343 -> 353[label="",style="dashed", color="magenta", weight=3]; 344 -> 94[label="",style="dashed", color="red", weight=0]; 344[label="primPlusNat (Succ vyv13) vyv230",fontsize=16,color="magenta"];344 -> 354[label="",style="dashed", color="magenta", weight=3]; 344 -> 355[label="",style="dashed", color="magenta", weight=3]; 342[label="pr2F3 (primEqInt (Neg vyv26) (fromInt (Pos Zero))) vyv12 (Neg vyv25) (vyv12 * vyv12)",fontsize=16,color="burlywood",shape="triangle"];7419[label="vyv26/Succ vyv260",fontsize=10,color="white",style="solid",shape="box"];342 -> 7419[label="",style="solid", color="burlywood", weight=9]; 7419 -> 356[label="",style="solid", color="burlywood", weight=3]; 7420[label="vyv26/Zero",fontsize=10,color="white",style="solid",shape="box"];342 -> 7420[label="",style="solid", color="burlywood", weight=9]; 7420 -> 357[label="",style="solid", color="burlywood", weight=3]; 347[label="pr2F3 (primEqInt (primMinusNat (Succ vyv2300) (Succ vyv13)) (fromInt (Pos Zero))) vyv12 (primMinusNat (Succ vyv2300) (Succ vyv13)) (vyv12 * vyv12)",fontsize=16,color="black",shape="box"];347 -> 361[label="",style="solid", color="black", weight=3]; 348[label="pr2F3 (primEqInt (primMinusNat Zero (Succ vyv13)) (fromInt (Pos Zero))) vyv12 (primMinusNat Zero (Succ vyv13)) (vyv12 * vyv12)",fontsize=16,color="black",shape="box"];348 -> 362[label="",style="solid", color="black", weight=3]; 412 -> 361[label="",style="dashed", color="red", weight=0]; 412[label="pr2F3 (primEqInt (primMinusNat vyv23000 vyv130) (fromInt (Pos Zero))) vyv12 (primMinusNat vyv23000 vyv130) (vyv12 * vyv12)",fontsize=16,color="magenta"];412 -> 430[label="",style="dashed", color="magenta", weight=3]; 412 -> 431[label="",style="dashed", color="magenta", weight=3]; 413 -> 386[label="",style="dashed", color="red", weight=0]; 413[label="pr2F3 (primEqInt (Pos (Succ vyv23000)) (fromInt (Pos Zero))) vyv12 (Pos (Succ vyv23000)) (vyv12 * vyv12)",fontsize=16,color="magenta"];413 -> 432[label="",style="dashed", color="magenta", weight=3]; 413 -> 433[label="",style="dashed", color="magenta", weight=3]; 413 -> 434[label="",style="dashed", color="magenta", weight=3]; 414 -> 342[label="",style="dashed", color="red", weight=0]; 414[label="pr2F3 (primEqInt (Neg (Succ vyv130)) (fromInt (Pos Zero))) vyv12 (Neg (Succ vyv130)) (vyv12 * vyv12)",fontsize=16,color="magenta"];414 -> 435[label="",style="dashed", color="magenta", weight=3]; 414 -> 436[label="",style="dashed", color="magenta", weight=3]; 415 -> 386[label="",style="dashed", color="red", weight=0]; 415[label="pr2F3 (primEqInt (Pos Zero) (fromInt (Pos Zero))) vyv12 (Pos Zero) (vyv12 * vyv12)",fontsize=16,color="magenta"];415 -> 437[label="",style="dashed", color="magenta", weight=3]; 415 -> 438[label="",style="dashed", color="magenta", weight=3]; 415 -> 439[label="",style="dashed", color="magenta", weight=3]; 428[label="pr2F3 False vyv20 (Pos vyv27) (vyv20 * vyv20)",fontsize=16,color="black",shape="box"];428 -> 452[label="",style="solid", color="black", weight=3]; 429[label="pr2F3 True vyv20 (Pos vyv27) (vyv20 * vyv20)",fontsize=16,color="black",shape="box"];429 -> 453[label="",style="solid", color="black", weight=3]; 3914[label="Pos (primDivNatS vyv2930 (Succ vyv32700))",fontsize=16,color="green",shape="box"];3914 -> 3924[label="",style="dashed", color="green", weight=3]; 3915 -> 65[label="",style="dashed", color="red", weight=0]; 3915[label="error []",fontsize=16,color="magenta"];3916[label="Neg (primDivNatS vyv2930 (Succ vyv32700))",fontsize=16,color="green",shape="box"];3916 -> 3925[label="",style="dashed", color="green", weight=3]; 3917 -> 65[label="",style="dashed", color="red", weight=0]; 3917[label="error []",fontsize=16,color="magenta"];3063[label="primDivNatS (Succ vyv22200) (Succ (Succ Zero))",fontsize=16,color="black",shape="box"];3063 -> 3200[label="",style="solid", color="black", weight=3]; 3064[label="primDivNatS Zero (Succ (Succ Zero))",fontsize=16,color="black",shape="box"];3064 -> 3201[label="",style="solid", color="black", weight=3]; 3878[label="primQuotInt (Pos vyv29600) vyv3250",fontsize=16,color="burlywood",shape="box"];7421[label="vyv3250/Pos vyv32500",fontsize=10,color="white",style="solid",shape="box"];3878 -> 7421[label="",style="solid", color="burlywood", weight=9]; 7421 -> 3918[label="",style="solid", color="burlywood", weight=3]; 7422[label="vyv3250/Neg vyv32500",fontsize=10,color="white",style="solid",shape="box"];3878 -> 7422[label="",style="solid", color="burlywood", weight=9]; 7422 -> 3919[label="",style="solid", color="burlywood", weight=3]; 3879[label="primQuotInt (Neg vyv29600) vyv3250",fontsize=16,color="burlywood",shape="box"];7423[label="vyv3250/Pos vyv32500",fontsize=10,color="white",style="solid",shape="box"];3879 -> 7423[label="",style="solid", color="burlywood", weight=9]; 7423 -> 3920[label="",style="solid", color="burlywood", weight=3]; 7424[label="vyv3250/Neg vyv32500",fontsize=10,color="white",style="solid",shape="box"];3879 -> 7424[label="",style="solid", color="burlywood", weight=9]; 7424 -> 3921[label="",style="solid", color="burlywood", weight=3]; 3040 -> 29[label="",style="dashed", color="red", weight=0]; 3040[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];3041 -> 2890[label="",style="dashed", color="red", weight=0]; 3041[label="vyv222 `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];3039[label="vyv246 - vyv245",fontsize=16,color="black",shape="triangle"];3039 -> 3070[label="",style="solid", color="black", weight=3]; 636[label="primEqInt vyv37 (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];7425[label="vyv37/Pos vyv370",fontsize=10,color="white",style="solid",shape="box"];636 -> 7425[label="",style="solid", color="burlywood", weight=9]; 7425 -> 661[label="",style="solid", color="burlywood", weight=3]; 7426[label="vyv37/Neg vyv370",fontsize=10,color="white",style="solid",shape="box"];636 -> 7426[label="",style="solid", color="burlywood", weight=9]; 7426 -> 662[label="",style="solid", color="burlywood", weight=3]; 3055 -> 30[label="",style="dashed", color="red", weight=0]; 3055[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];3056 -> 2891[label="",style="dashed", color="red", weight=0]; 3056[label="vyv222 `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];3054[label="vyv248 - vyv247",fontsize=16,color="black",shape="triangle"];3054 -> 3071[label="",style="solid", color="black", weight=3]; 2969[label="Integer vyv2330 == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];2969 -> 2996[label="",style="solid", color="black", weight=3]; 3057[label="pr2F0G (vyv241 * vyv241 * vyv243) (vyv241 * vyv241) (vyv242 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];3057 -> 3094[label="",style="solid", color="black", weight=3]; 3058[label="vyv241 * vyv241 * vyv243",fontsize=16,color="black",shape="triangle"];3058 -> 5141[label="",style="solid", color="black", weight=3]; 3059[label="vyv241 * vyv241 * vyv243",fontsize=16,color="black",shape="triangle"];3059 -> 5142[label="",style="solid", color="black", weight=3]; 3060[label="vyv241 * vyv241 * vyv243",fontsize=16,color="black",shape="box"];3060 -> 5143[label="",style="solid", color="black", weight=3]; 3061[label="vyv241 * vyv241 * vyv243",fontsize=16,color="burlywood",shape="triangle"];7427[label="vyv241/Integer vyv2410",fontsize=10,color="white",style="solid",shape="box"];3061 -> 7427[label="",style="solid", color="burlywood", weight=9]; 7427 -> 5144[label="",style="solid", color="burlywood", weight=3]; 3062[label="vyv241 * vyv241 * vyv243",fontsize=16,color="burlywood",shape="triangle"];7428[label="vyv241/vyv2410 :% vyv2411",fontsize=10,color="white",style="solid",shape="box"];3062 -> 7428[label="",style="solid", color="burlywood", weight=9]; 7428 -> 5145[label="",style="solid", color="burlywood", weight=3]; 2877[label="Float (vyv120 * vyv2140) (vyv121 * vyv2141)",fontsize=16,color="green",shape="box"];2877 -> 2897[label="",style="dashed", color="green", weight=3]; 2877 -> 2898[label="",style="dashed", color="green", weight=3]; 2896[label="Double (vyv120 * vyv2240) (vyv121 * vyv2241)",fontsize=16,color="green",shape="box"];2896 -> 2941[label="",style="dashed", color="green", weight=3]; 2896 -> 2942[label="",style="dashed", color="green", weight=3]; 2937[label="Pos (primMulNat vyv120 vyv2250)",fontsize=16,color="green",shape="box"];2937 -> 2955[label="",style="dashed", color="green", weight=3]; 2938[label="Neg (primMulNat vyv120 vyv2250)",fontsize=16,color="green",shape="box"];2938 -> 2956[label="",style="dashed", color="green", weight=3]; 2939[label="Neg (primMulNat vyv120 vyv2250)",fontsize=16,color="green",shape="box"];2939 -> 2957[label="",style="dashed", color="green", weight=3]; 2940[label="Pos (primMulNat vyv120 vyv2250)",fontsize=16,color="green",shape="box"];2940 -> 2958[label="",style="dashed", color="green", weight=3]; 3304[label="vyv201",fontsize=16,color="green",shape="box"];3305[label="vyv201",fontsize=16,color="green",shape="box"];3306[label="vyv200",fontsize=16,color="green",shape="box"];3307[label="vyv201 * vyv201 == fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];7429[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];3307 -> 7429[label="",style="solid", color="blue", weight=9]; 7429 -> 3349[label="",style="solid", color="blue", weight=3]; 7430[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];3307 -> 7430[label="",style="solid", color="blue", weight=9]; 7430 -> 3350[label="",style="solid", color="blue", weight=3]; 3308[label="vyv200",fontsize=16,color="green",shape="box"];3298[label="reduce2Reduce1 (vyv281 * vyv282) (vyv283 * vyv284) (vyv281 * vyv282) (vyv283 * vyv284) vyv285",fontsize=16,color="burlywood",shape="triangle"];7431[label="vyv285/False",fontsize=10,color="white",style="solid",shape="box"];3298 -> 7431[label="",style="solid", color="burlywood", weight=9]; 7431 -> 3318[label="",style="solid", color="burlywood", weight=3]; 7432[label="vyv285/True",fontsize=10,color="white",style="solid",shape="box"];3298 -> 7432[label="",style="solid", color="burlywood", weight=9]; 7432 -> 3319[label="",style="solid", color="burlywood", weight=3]; 352[label="Succ vyv13",fontsize=16,color="green",shape="box"];353[label="vyv230",fontsize=16,color="green",shape="box"];354[label="Succ vyv13",fontsize=16,color="green",shape="box"];355[label="vyv230",fontsize=16,color="green",shape="box"];356[label="pr2F3 (primEqInt (Neg (Succ vyv260)) (fromInt (Pos Zero))) vyv12 (Neg vyv25) (vyv12 * vyv12)",fontsize=16,color="black",shape="box"];356 -> 366[label="",style="solid", color="black", weight=3]; 357[label="pr2F3 (primEqInt (Neg Zero) (fromInt (Pos Zero))) vyv12 (Neg vyv25) (vyv12 * vyv12)",fontsize=16,color="black",shape="box"];357 -> 367[label="",style="solid", color="black", weight=3]; 362 -> 342[label="",style="dashed", color="red", weight=0]; 362[label="pr2F3 (primEqInt (Neg (Succ vyv13)) (fromInt (Pos Zero))) vyv12 (Neg (Succ vyv13)) (vyv12 * vyv12)",fontsize=16,color="magenta"];362 -> 374[label="",style="dashed", color="magenta", weight=3]; 362 -> 375[label="",style="dashed", color="magenta", weight=3]; 430[label="vyv130",fontsize=16,color="green",shape="box"];431[label="vyv23000",fontsize=16,color="green",shape="box"];432[label="vyv12",fontsize=16,color="green",shape="box"];433[label="Succ vyv23000",fontsize=16,color="green",shape="box"];434[label="Succ vyv23000",fontsize=16,color="green",shape="box"];435[label="Succ vyv130",fontsize=16,color="green",shape="box"];436[label="Succ vyv130",fontsize=16,color="green",shape="box"];437[label="vyv12",fontsize=16,color="green",shape="box"];438[label="Zero",fontsize=16,color="green",shape="box"];439[label="Zero",fontsize=16,color="green",shape="box"];452[label="pr2F0 vyv20 (Pos vyv27) (vyv20 * vyv20)",fontsize=16,color="black",shape="box"];452 -> 468[label="",style="solid", color="black", weight=3]; 453[label="vyv20 * vyv20",fontsize=16,color="blue",shape="box"];7433[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];453 -> 7433[label="",style="solid", color="blue", weight=9]; 7433 -> 469[label="",style="solid", color="blue", weight=3]; 7434[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];453 -> 7434[label="",style="solid", color="blue", weight=9]; 7434 -> 470[label="",style="solid", color="blue", weight=3]; 7435[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];453 -> 7435[label="",style="solid", color="blue", weight=9]; 7435 -> 471[label="",style="solid", color="blue", weight=3]; 7436[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];453 -> 7436[label="",style="solid", color="blue", weight=9]; 7436 -> 472[label="",style="solid", color="blue", weight=3]; 7437[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];453 -> 7437[label="",style="solid", color="blue", weight=9]; 7437 -> 473[label="",style="solid", color="blue", weight=3]; 3924[label="primDivNatS vyv2930 (Succ vyv32700)",fontsize=16,color="burlywood",shape="triangle"];7438[label="vyv2930/Succ vyv29300",fontsize=10,color="white",style="solid",shape="box"];3924 -> 7438[label="",style="solid", color="burlywood", weight=9]; 7438 -> 3941[label="",style="solid", color="burlywood", weight=3]; 7439[label="vyv2930/Zero",fontsize=10,color="white",style="solid",shape="box"];3924 -> 7439[label="",style="solid", color="burlywood", weight=9]; 7439 -> 3942[label="",style="solid", color="burlywood", weight=3]; 3925 -> 3924[label="",style="dashed", color="red", weight=0]; 3925[label="primDivNatS vyv2930 (Succ vyv32700)",fontsize=16,color="magenta"];3925 -> 3943[label="",style="dashed", color="magenta", weight=3]; 3200[label="primDivNatS0 vyv22200 (Succ Zero) (primGEqNatS vyv22200 (Succ Zero))",fontsize=16,color="burlywood",shape="box"];7440[label="vyv22200/Succ vyv222000",fontsize=10,color="white",style="solid",shape="box"];3200 -> 7440[label="",style="solid", color="burlywood", weight=9]; 7440 -> 3239[label="",style="solid", color="burlywood", weight=3]; 7441[label="vyv22200/Zero",fontsize=10,color="white",style="solid",shape="box"];3200 -> 7441[label="",style="solid", color="burlywood", weight=9]; 7441 -> 3240[label="",style="solid", color="burlywood", weight=3]; 3201[label="Zero",fontsize=16,color="green",shape="box"];3918[label="primQuotInt (Pos vyv29600) (Pos vyv32500)",fontsize=16,color="burlywood",shape="box"];7442[label="vyv32500/Succ vyv325000",fontsize=10,color="white",style="solid",shape="box"];3918 -> 7442[label="",style="solid", color="burlywood", weight=9]; 7442 -> 3926[label="",style="solid", color="burlywood", weight=3]; 7443[label="vyv32500/Zero",fontsize=10,color="white",style="solid",shape="box"];3918 -> 7443[label="",style="solid", color="burlywood", weight=9]; 7443 -> 3927[label="",style="solid", color="burlywood", weight=3]; 3919[label="primQuotInt (Pos vyv29600) (Neg vyv32500)",fontsize=16,color="burlywood",shape="box"];7444[label="vyv32500/Succ vyv325000",fontsize=10,color="white",style="solid",shape="box"];3919 -> 7444[label="",style="solid", color="burlywood", weight=9]; 7444 -> 3928[label="",style="solid", color="burlywood", weight=3]; 7445[label="vyv32500/Zero",fontsize=10,color="white",style="solid",shape="box"];3919 -> 7445[label="",style="solid", color="burlywood", weight=9]; 7445 -> 3929[label="",style="solid", color="burlywood", weight=3]; 3920[label="primQuotInt (Neg vyv29600) (Pos vyv32500)",fontsize=16,color="burlywood",shape="box"];7446[label="vyv32500/Succ vyv325000",fontsize=10,color="white",style="solid",shape="box"];3920 -> 7446[label="",style="solid", color="burlywood", weight=9]; 7446 -> 3930[label="",style="solid", color="burlywood", weight=3]; 7447[label="vyv32500/Zero",fontsize=10,color="white",style="solid",shape="box"];3920 -> 7447[label="",style="solid", color="burlywood", weight=9]; 7447 -> 3931[label="",style="solid", color="burlywood", weight=3]; 3921[label="primQuotInt (Neg vyv29600) (Neg vyv32500)",fontsize=16,color="burlywood",shape="box"];7448[label="vyv32500/Succ vyv325000",fontsize=10,color="white",style="solid",shape="box"];3921 -> 7448[label="",style="solid", color="burlywood", weight=9]; 7448 -> 3932[label="",style="solid", color="burlywood", weight=3]; 7449[label="vyv32500/Zero",fontsize=10,color="white",style="solid",shape="box"];3921 -> 7449[label="",style="solid", color="burlywood", weight=9]; 7449 -> 3933[label="",style="solid", color="burlywood", weight=3]; 3070[label="primMinusInt vyv246 vyv245",fontsize=16,color="burlywood",shape="box"];7450[label="vyv246/Pos vyv2460",fontsize=10,color="white",style="solid",shape="box"];3070 -> 7450[label="",style="solid", color="burlywood", weight=9]; 7450 -> 3207[label="",style="solid", color="burlywood", weight=3]; 7451[label="vyv246/Neg vyv2460",fontsize=10,color="white",style="solid",shape="box"];3070 -> 7451[label="",style="solid", color="burlywood", weight=9]; 7451 -> 3208[label="",style="solid", color="burlywood", weight=3]; 661[label="primEqInt (Pos vyv370) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];7452[label="vyv370/Succ vyv3700",fontsize=10,color="white",style="solid",shape="box"];661 -> 7452[label="",style="solid", color="burlywood", weight=9]; 7452 -> 719[label="",style="solid", color="burlywood", weight=3]; 7453[label="vyv370/Zero",fontsize=10,color="white",style="solid",shape="box"];661 -> 7453[label="",style="solid", color="burlywood", weight=9]; 7453 -> 720[label="",style="solid", color="burlywood", weight=3]; 662[label="primEqInt (Neg vyv370) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];7454[label="vyv370/Succ vyv3700",fontsize=10,color="white",style="solid",shape="box"];662 -> 7454[label="",style="solid", color="burlywood", weight=9]; 7454 -> 721[label="",style="solid", color="burlywood", weight=3]; 7455[label="vyv370/Zero",fontsize=10,color="white",style="solid",shape="box"];662 -> 7455[label="",style="solid", color="burlywood", weight=9]; 7455 -> 722[label="",style="solid", color="burlywood", weight=3]; 3071[label="error []",fontsize=16,color="red",shape="box"];2996[label="Integer vyv2330 == Integer (Pos Zero)",fontsize=16,color="black",shape="box"];2996 -> 3013[label="",style="solid", color="black", weight=3]; 3094[label="pr2F0G2 (vyv241 * vyv241 * vyv243) (vyv241 * vyv241) (vyv242 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];3094 -> 3209[label="",style="solid", color="black", weight=3]; 5141 -> 2821[label="",style="dashed", color="red", weight=0]; 5141[label="primMulFloat (vyv241 * vyv241) vyv243",fontsize=16,color="magenta"];5141 -> 5216[label="",style="dashed", color="magenta", weight=3]; 5141 -> 5217[label="",style="dashed", color="magenta", weight=3]; 5142 -> 2844[label="",style="dashed", color="red", weight=0]; 5142[label="primMulDouble (vyv241 * vyv241) vyv243",fontsize=16,color="magenta"];5142 -> 5218[label="",style="dashed", color="magenta", weight=3]; 5142 -> 5219[label="",style="dashed", color="magenta", weight=3]; 5143 -> 2860[label="",style="dashed", color="red", weight=0]; 5143[label="primMulInt (vyv241 * vyv241) vyv243",fontsize=16,color="magenta"];5143 -> 5220[label="",style="dashed", color="magenta", weight=3]; 5143 -> 5221[label="",style="dashed", color="magenta", weight=3]; 5144[label="Integer vyv2410 * Integer vyv2410 * vyv243",fontsize=16,color="black",shape="box"];5144 -> 5222[label="",style="solid", color="black", weight=3]; 5145[label="vyv2410 :% vyv2411 * (vyv2410 :% vyv2411) * vyv243",fontsize=16,color="black",shape="box"];5145 -> 5223[label="",style="solid", color="black", weight=3]; 2897[label="vyv120 * vyv2140",fontsize=16,color="black",shape="triangle"];2897 -> 5156[label="",style="solid", color="black", weight=3]; 2898[label="vyv121 * vyv2141",fontsize=16,color="black",shape="box"];2898 -> 5157[label="",style="solid", color="black", weight=3]; 2941[label="vyv120 * vyv2240",fontsize=16,color="black",shape="box"];2941 -> 5158[label="",style="solid", color="black", weight=3]; 2942[label="vyv121 * vyv2241",fontsize=16,color="black",shape="box"];2942 -> 5159[label="",style="solid", color="black", weight=3]; 2955[label="primMulNat vyv120 vyv2250",fontsize=16,color="burlywood",shape="triangle"];7456[label="vyv120/Succ vyv1200",fontsize=10,color="white",style="solid",shape="box"];2955 -> 7456[label="",style="solid", color="burlywood", weight=9]; 7456 -> 2989[label="",style="solid", color="burlywood", weight=3]; 7457[label="vyv120/Zero",fontsize=10,color="white",style="solid",shape="box"];2955 -> 7457[label="",style="solid", color="burlywood", weight=9]; 7457 -> 2990[label="",style="solid", color="burlywood", weight=3]; 2956 -> 2955[label="",style="dashed", color="red", weight=0]; 2956[label="primMulNat vyv120 vyv2250",fontsize=16,color="magenta"];2956 -> 2991[label="",style="dashed", color="magenta", weight=3]; 2957 -> 2955[label="",style="dashed", color="red", weight=0]; 2957[label="primMulNat vyv120 vyv2250",fontsize=16,color="magenta"];2957 -> 2992[label="",style="dashed", color="magenta", weight=3]; 2958 -> 2955[label="",style="dashed", color="red", weight=0]; 2958[label="primMulNat vyv120 vyv2250",fontsize=16,color="magenta"];2958 -> 2993[label="",style="dashed", color="magenta", weight=3]; 2958 -> 2994[label="",style="dashed", color="magenta", weight=3]; 3349 -> 554[label="",style="dashed", color="red", weight=0]; 3349[label="vyv201 * vyv201 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3349 -> 3388[label="",style="dashed", color="magenta", weight=3]; 3350 -> 2947[label="",style="dashed", color="red", weight=0]; 3350[label="vyv201 * vyv201 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3350 -> 3389[label="",style="dashed", color="magenta", weight=3]; 3318[label="reduce2Reduce1 (vyv281 * vyv282) (vyv283 * vyv284) (vyv281 * vyv282) (vyv283 * vyv284) False",fontsize=16,color="black",shape="box"];3318 -> 3331[label="",style="solid", color="black", weight=3]; 3319[label="reduce2Reduce1 (vyv281 * vyv282) (vyv283 * vyv284) (vyv281 * vyv282) (vyv283 * vyv284) True",fontsize=16,color="black",shape="box"];3319 -> 3332[label="",style="solid", color="black", weight=3]; 366[label="pr2F3 (primEqInt (Neg (Succ vyv260)) (Pos Zero)) vyv12 (Neg vyv25) (vyv12 * vyv12)",fontsize=16,color="black",shape="box"];366 -> 379[label="",style="solid", color="black", weight=3]; 367[label="pr2F3 (primEqInt (Neg Zero) (Pos Zero)) vyv12 (Neg vyv25) (vyv12 * vyv12)",fontsize=16,color="black",shape="box"];367 -> 380[label="",style="solid", color="black", weight=3]; 374[label="Succ vyv13",fontsize=16,color="green",shape="box"];375[label="Succ vyv13",fontsize=16,color="green",shape="box"];468[label="pr2F0G (vyv20 * vyv20) vyv20 (Pos vyv27)",fontsize=16,color="black",shape="box"];468 -> 488[label="",style="solid", color="black", weight=3]; 469[label="vyv20 * vyv20",fontsize=16,color="black",shape="box"];469 -> 2743[label="",style="solid", color="black", weight=3]; 470[label="vyv20 * vyv20",fontsize=16,color="black",shape="box"];470 -> 2744[label="",style="solid", color="black", weight=3]; 471[label="vyv20 * vyv20",fontsize=16,color="black",shape="box"];471 -> 2745[label="",style="solid", color="black", weight=3]; 472[label="vyv20 * vyv20",fontsize=16,color="burlywood",shape="box"];7458[label="vyv20/Integer vyv200",fontsize=10,color="white",style="solid",shape="box"];472 -> 7458[label="",style="solid", color="burlywood", weight=9]; 7458 -> 2746[label="",style="solid", color="burlywood", weight=3]; 473[label="vyv20 * vyv20",fontsize=16,color="burlywood",shape="box"];7459[label="vyv20/vyv200 :% vyv201",fontsize=10,color="white",style="solid",shape="box"];473 -> 7459[label="",style="solid", color="burlywood", weight=9]; 7459 -> 2747[label="",style="solid", color="burlywood", weight=3]; 3941[label="primDivNatS (Succ vyv29300) (Succ vyv32700)",fontsize=16,color="black",shape="box"];3941 -> 3957[label="",style="solid", color="black", weight=3]; 3942[label="primDivNatS Zero (Succ vyv32700)",fontsize=16,color="black",shape="box"];3942 -> 3958[label="",style="solid", color="black", weight=3]; 3943[label="vyv32700",fontsize=16,color="green",shape="box"];3239[label="primDivNatS0 (Succ vyv222000) (Succ Zero) (primGEqNatS (Succ vyv222000) (Succ Zero))",fontsize=16,color="black",shape="box"];3239 -> 3256[label="",style="solid", color="black", weight=3]; 3240[label="primDivNatS0 Zero (Succ Zero) (primGEqNatS Zero (Succ Zero))",fontsize=16,color="black",shape="box"];3240 -> 3257[label="",style="solid", color="black", weight=3]; 3926[label="primQuotInt (Pos vyv29600) (Pos (Succ vyv325000))",fontsize=16,color="black",shape="box"];3926 -> 3944[label="",style="solid", color="black", weight=3]; 3927[label="primQuotInt (Pos vyv29600) (Pos Zero)",fontsize=16,color="black",shape="box"];3927 -> 3945[label="",style="solid", color="black", weight=3]; 3928[label="primQuotInt (Pos vyv29600) (Neg (Succ vyv325000))",fontsize=16,color="black",shape="box"];3928 -> 3946[label="",style="solid", color="black", weight=3]; 3929[label="primQuotInt (Pos vyv29600) (Neg Zero)",fontsize=16,color="black",shape="box"];3929 -> 3947[label="",style="solid", color="black", weight=3]; 3930[label="primQuotInt (Neg vyv29600) (Pos (Succ vyv325000))",fontsize=16,color="black",shape="box"];3930 -> 3948[label="",style="solid", color="black", weight=3]; 3931[label="primQuotInt (Neg vyv29600) (Pos Zero)",fontsize=16,color="black",shape="box"];3931 -> 3949[label="",style="solid", color="black", weight=3]; 3932[label="primQuotInt (Neg vyv29600) (Neg (Succ vyv325000))",fontsize=16,color="black",shape="box"];3932 -> 3950[label="",style="solid", color="black", weight=3]; 3933[label="primQuotInt (Neg vyv29600) (Neg Zero)",fontsize=16,color="black",shape="box"];3933 -> 3951[label="",style="solid", color="black", weight=3]; 3207[label="primMinusInt (Pos vyv2460) vyv245",fontsize=16,color="burlywood",shape="box"];7460[label="vyv245/Pos vyv2450",fontsize=10,color="white",style="solid",shape="box"];3207 -> 7460[label="",style="solid", color="burlywood", weight=9]; 7460 -> 3245[label="",style="solid", color="burlywood", weight=3]; 7461[label="vyv245/Neg vyv2450",fontsize=10,color="white",style="solid",shape="box"];3207 -> 7461[label="",style="solid", color="burlywood", weight=9]; 7461 -> 3246[label="",style="solid", color="burlywood", weight=3]; 3208[label="primMinusInt (Neg vyv2460) vyv245",fontsize=16,color="burlywood",shape="box"];7462[label="vyv245/Pos vyv2450",fontsize=10,color="white",style="solid",shape="box"];3208 -> 7462[label="",style="solid", color="burlywood", weight=9]; 7462 -> 3247[label="",style="solid", color="burlywood", weight=3]; 7463[label="vyv245/Neg vyv2450",fontsize=10,color="white",style="solid",shape="box"];3208 -> 7463[label="",style="solid", color="burlywood", weight=9]; 7463 -> 3248[label="",style="solid", color="burlywood", weight=3]; 719[label="primEqInt (Pos (Succ vyv3700)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];719 -> 756[label="",style="solid", color="black", weight=3]; 720[label="primEqInt (Pos Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];720 -> 757[label="",style="solid", color="black", weight=3]; 721[label="primEqInt (Neg (Succ vyv3700)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];721 -> 758[label="",style="solid", color="black", weight=3]; 722[label="primEqInt (Neg Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];722 -> 759[label="",style="solid", color="black", weight=3]; 3013 -> 723[label="",style="dashed", color="red", weight=0]; 3013[label="primEqInt vyv2330 (Pos Zero)",fontsize=16,color="magenta"];3013 -> 3072[label="",style="dashed", color="magenta", weight=3]; 3209 -> 3249[label="",style="dashed", color="red", weight=0]; 3209[label="pr2F0G1 (vyv241 * vyv241 * vyv243) (vyv241 * vyv241) (vyv242 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))) (even (vyv242 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))))",fontsize=16,color="magenta"];3209 -> 3250[label="",style="dashed", color="magenta", weight=3]; 3209 -> 3251[label="",style="dashed", color="magenta", weight=3]; 3209 -> 3252[label="",style="dashed", color="magenta", weight=3]; 3209 -> 3253[label="",style="dashed", color="magenta", weight=3]; 5216[label="vyv243",fontsize=16,color="green",shape="box"];5217[label="vyv241 * vyv241",fontsize=16,color="black",shape="box"];5217 -> 6176[label="",style="solid", color="black", weight=3]; 5218[label="vyv241 * vyv241",fontsize=16,color="black",shape="box"];5218 -> 6238[label="",style="solid", color="black", weight=3]; 5219[label="vyv243",fontsize=16,color="green",shape="box"];5220[label="vyv243",fontsize=16,color="green",shape="box"];5221[label="vyv241 * vyv241",fontsize=16,color="black",shape="box"];5221 -> 6208[label="",style="solid", color="black", weight=3]; 5222[label="Integer (primMulInt vyv2410 vyv2410) * vyv243",fontsize=16,color="burlywood",shape="box"];7464[label="vyv243/Integer vyv2430",fontsize=10,color="white",style="solid",shape="box"];5222 -> 7464[label="",style="solid", color="burlywood", weight=9]; 7464 -> 6177[label="",style="solid", color="burlywood", weight=3]; 5223[label="reduce (vyv2410 * vyv2410) (vyv2411 * vyv2411) * vyv243",fontsize=16,color="black",shape="triangle"];5223 -> 6197[label="",style="solid", color="black", weight=3]; 5156 -> 2860[label="",style="dashed", color="red", weight=0]; 5156[label="primMulInt vyv120 vyv2140",fontsize=16,color="magenta"];5156 -> 5237[label="",style="dashed", color="magenta", weight=3]; 5156 -> 5238[label="",style="dashed", color="magenta", weight=3]; 5157 -> 2860[label="",style="dashed", color="red", weight=0]; 5157[label="primMulInt vyv121 vyv2141",fontsize=16,color="magenta"];5157 -> 5239[label="",style="dashed", color="magenta", weight=3]; 5157 -> 5240[label="",style="dashed", color="magenta", weight=3]; 5158 -> 2860[label="",style="dashed", color="red", weight=0]; 5158[label="primMulInt vyv120 vyv2240",fontsize=16,color="magenta"];5158 -> 5241[label="",style="dashed", color="magenta", weight=3]; 5158 -> 5242[label="",style="dashed", color="magenta", weight=3]; 5159 -> 2860[label="",style="dashed", color="red", weight=0]; 5159[label="primMulInt vyv121 vyv2241",fontsize=16,color="magenta"];5159 -> 5243[label="",style="dashed", color="magenta", weight=3]; 5159 -> 5244[label="",style="dashed", color="magenta", weight=3]; 2989[label="primMulNat (Succ vyv1200) vyv2250",fontsize=16,color="burlywood",shape="box"];7465[label="vyv2250/Succ vyv22500",fontsize=10,color="white",style="solid",shape="box"];2989 -> 7465[label="",style="solid", color="burlywood", weight=9]; 7465 -> 3008[label="",style="solid", color="burlywood", weight=3]; 7466[label="vyv2250/Zero",fontsize=10,color="white",style="solid",shape="box"];2989 -> 7466[label="",style="solid", color="burlywood", weight=9]; 7466 -> 3009[label="",style="solid", color="burlywood", weight=3]; 2990[label="primMulNat Zero vyv2250",fontsize=16,color="burlywood",shape="box"];7467[label="vyv2250/Succ vyv22500",fontsize=10,color="white",style="solid",shape="box"];2990 -> 7467[label="",style="solid", color="burlywood", weight=9]; 7467 -> 3010[label="",style="solid", color="burlywood", weight=3]; 7468[label="vyv2250/Zero",fontsize=10,color="white",style="solid",shape="box"];2990 -> 7468[label="",style="solid", color="burlywood", weight=9]; 7468 -> 3011[label="",style="solid", color="burlywood", weight=3]; 2991[label="vyv2250",fontsize=16,color="green",shape="box"];2992[label="vyv120",fontsize=16,color="green",shape="box"];2993[label="vyv120",fontsize=16,color="green",shape="box"];2994[label="vyv2250",fontsize=16,color="green",shape="box"];3388[label="vyv201 * vyv201",fontsize=16,color="black",shape="box"];3388 -> 5160[label="",style="solid", color="black", weight=3]; 3389[label="vyv201 * vyv201",fontsize=16,color="burlywood",shape="box"];7469[label="vyv201/Integer vyv2010",fontsize=10,color="white",style="solid",shape="box"];3389 -> 7469[label="",style="solid", color="burlywood", weight=9]; 7469 -> 5161[label="",style="solid", color="burlywood", weight=3]; 3331[label="reduce2Reduce0 (vyv281 * vyv282) (vyv283 * vyv284) (vyv281 * vyv282) (vyv283 * vyv284) otherwise",fontsize=16,color="black",shape="box"];3331 -> 3375[label="",style="solid", color="black", weight=3]; 3332 -> 65[label="",style="dashed", color="red", weight=0]; 3332[label="error []",fontsize=16,color="magenta"];379[label="pr2F3 False vyv12 (Neg vyv25) (vyv12 * vyv12)",fontsize=16,color="black",shape="box"];379 -> 405[label="",style="solid", color="black", weight=3]; 380[label="pr2F3 True vyv12 (Neg vyv25) (vyv12 * vyv12)",fontsize=16,color="black",shape="box"];380 -> 406[label="",style="solid", color="black", weight=3]; 488[label="pr2F0G2 (vyv20 * vyv20) vyv20 (Pos vyv27)",fontsize=16,color="black",shape="box"];488 -> 512[label="",style="solid", color="black", weight=3]; 2746[label="Integer vyv200 * Integer vyv200",fontsize=16,color="black",shape="box"];2746 -> 2799[label="",style="solid", color="black", weight=3]; 2747[label="vyv200 :% vyv201 * (vyv200 :% vyv201)",fontsize=16,color="black",shape="box"];2747 -> 2800[label="",style="solid", color="black", weight=3]; 3957[label="primDivNatS0 vyv29300 vyv32700 (primGEqNatS vyv29300 vyv32700)",fontsize=16,color="burlywood",shape="box"];7470[label="vyv29300/Succ vyv293000",fontsize=10,color="white",style="solid",shape="box"];3957 -> 7470[label="",style="solid", color="burlywood", weight=9]; 7470 -> 3966[label="",style="solid", color="burlywood", weight=3]; 7471[label="vyv29300/Zero",fontsize=10,color="white",style="solid",shape="box"];3957 -> 7471[label="",style="solid", color="burlywood", weight=9]; 7471 -> 3967[label="",style="solid", color="burlywood", weight=3]; 3958[label="Zero",fontsize=16,color="green",shape="box"];3256 -> 6631[label="",style="dashed", color="red", weight=0]; 3256[label="primDivNatS0 (Succ vyv222000) (Succ Zero) (primGEqNatS vyv222000 Zero)",fontsize=16,color="magenta"];3256 -> 6632[label="",style="dashed", color="magenta", weight=3]; 3256 -> 6633[label="",style="dashed", color="magenta", weight=3]; 3256 -> 6634[label="",style="dashed", color="magenta", weight=3]; 3256 -> 6635[label="",style="dashed", color="magenta", weight=3]; 3257[label="primDivNatS0 Zero (Succ Zero) False",fontsize=16,color="black",shape="box"];3257 -> 3282[label="",style="solid", color="black", weight=3]; 3944[label="Pos (primDivNatS vyv29600 (Succ vyv325000))",fontsize=16,color="green",shape="box"];3944 -> 3959[label="",style="dashed", color="green", weight=3]; 3945 -> 65[label="",style="dashed", color="red", weight=0]; 3945[label="error []",fontsize=16,color="magenta"];3946[label="Neg (primDivNatS vyv29600 (Succ vyv325000))",fontsize=16,color="green",shape="box"];3946 -> 3960[label="",style="dashed", color="green", weight=3]; 3947 -> 65[label="",style="dashed", color="red", weight=0]; 3947[label="error []",fontsize=16,color="magenta"];3948[label="Neg (primDivNatS vyv29600 (Succ vyv325000))",fontsize=16,color="green",shape="box"];3948 -> 3961[label="",style="dashed", color="green", weight=3]; 3949 -> 65[label="",style="dashed", color="red", weight=0]; 3949[label="error []",fontsize=16,color="magenta"];3950[label="Pos (primDivNatS vyv29600 (Succ vyv325000))",fontsize=16,color="green",shape="box"];3950 -> 3962[label="",style="dashed", color="green", weight=3]; 3951 -> 65[label="",style="dashed", color="red", weight=0]; 3951[label="error []",fontsize=16,color="magenta"];3245[label="primMinusInt (Pos vyv2460) (Pos vyv2450)",fontsize=16,color="black",shape="box"];3245 -> 3260[label="",style="solid", color="black", weight=3]; 3246[label="primMinusInt (Pos vyv2460) (Neg vyv2450)",fontsize=16,color="black",shape="box"];3246 -> 3261[label="",style="solid", color="black", weight=3]; 3247[label="primMinusInt (Neg vyv2460) (Pos vyv2450)",fontsize=16,color="black",shape="box"];3247 -> 3262[label="",style="solid", color="black", weight=3]; 3248[label="primMinusInt (Neg vyv2460) (Neg vyv2450)",fontsize=16,color="black",shape="box"];3248 -> 3263[label="",style="solid", color="black", weight=3]; 756 -> 723[label="",style="dashed", color="red", weight=0]; 756[label="primEqInt (Pos (Succ vyv3700)) (Pos Zero)",fontsize=16,color="magenta"];756 -> 813[label="",style="dashed", color="magenta", weight=3]; 757 -> 723[label="",style="dashed", color="red", weight=0]; 757[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];757 -> 814[label="",style="dashed", color="magenta", weight=3]; 758 -> 723[label="",style="dashed", color="red", weight=0]; 758[label="primEqInt (Neg (Succ vyv3700)) (Pos Zero)",fontsize=16,color="magenta"];758 -> 815[label="",style="dashed", color="magenta", weight=3]; 759 -> 723[label="",style="dashed", color="red", weight=0]; 759[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];759 -> 816[label="",style="dashed", color="magenta", weight=3]; 3072[label="vyv2330",fontsize=16,color="green",shape="box"];723[label="primEqInt vyv380 (Pos Zero)",fontsize=16,color="burlywood",shape="triangle"];7472[label="vyv380/Pos vyv3800",fontsize=10,color="white",style="solid",shape="box"];723 -> 7472[label="",style="solid", color="burlywood", weight=9]; 7472 -> 760[label="",style="solid", color="burlywood", weight=3]; 7473[label="vyv380/Neg vyv3800",fontsize=10,color="white",style="solid",shape="box"];723 -> 7473[label="",style="solid", color="burlywood", weight=9]; 7473 -> 761[label="",style="solid", color="burlywood", weight=3]; 3250[label="vyv243",fontsize=16,color="green",shape="box"];3251[label="vyv242",fontsize=16,color="green",shape="box"];3252[label="even (vyv242 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero)))",fontsize=16,color="blue",shape="box"];7474[label="even :: Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];3252 -> 7474[label="",style="solid", color="blue", weight=9]; 7474 -> 3264[label="",style="solid", color="blue", weight=3]; 7475[label="even :: Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];3252 -> 7475[label="",style="solid", color="blue", weight=9]; 7475 -> 3265[label="",style="solid", color="blue", weight=3]; 3253[label="vyv241",fontsize=16,color="green",shape="box"];3249[label="pr2F0G1 (vyv264 * vyv264 * vyv265) (vyv264 * vyv264) (vyv266 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))) vyv267",fontsize=16,color="burlywood",shape="triangle"];7476[label="vyv267/False",fontsize=10,color="white",style="solid",shape="box"];3249 -> 7476[label="",style="solid", color="burlywood", weight=9]; 7476 -> 3266[label="",style="solid", color="burlywood", weight=3]; 7477[label="vyv267/True",fontsize=10,color="white",style="solid",shape="box"];3249 -> 7477[label="",style="solid", color="burlywood", weight=9]; 7477 -> 3267[label="",style="solid", color="burlywood", weight=3]; 6176 -> 2743[label="",style="dashed", color="red", weight=0]; 6176[label="primMulFloat vyv241 vyv241",fontsize=16,color="magenta"];6176 -> 6285[label="",style="dashed", color="magenta", weight=3]; 6238 -> 2744[label="",style="dashed", color="red", weight=0]; 6238[label="primMulDouble vyv241 vyv241",fontsize=16,color="magenta"];6238 -> 6286[label="",style="dashed", color="magenta", weight=3]; 6208 -> 2745[label="",style="dashed", color="red", weight=0]; 6208[label="primMulInt vyv241 vyv241",fontsize=16,color="magenta"];6208 -> 6287[label="",style="dashed", color="magenta", weight=3]; 6177[label="Integer (primMulInt vyv2410 vyv2410) * Integer vyv2430",fontsize=16,color="black",shape="box"];6177 -> 6288[label="",style="solid", color="black", weight=3]; 6197 -> 6289[label="",style="dashed", color="red", weight=0]; 6197[label="reduce2 (vyv2410 * vyv2410) (vyv2411 * vyv2411) * vyv243",fontsize=16,color="magenta"];6197 -> 6290[label="",style="dashed", color="magenta", weight=3]; 5237[label="vyv2140",fontsize=16,color="green",shape="box"];5238[label="vyv120",fontsize=16,color="green",shape="box"];5239[label="vyv2141",fontsize=16,color="green",shape="box"];5240[label="vyv121",fontsize=16,color="green",shape="box"];5241[label="vyv2240",fontsize=16,color="green",shape="box"];5242[label="vyv120",fontsize=16,color="green",shape="box"];5243[label="vyv2241",fontsize=16,color="green",shape="box"];5244[label="vyv121",fontsize=16,color="green",shape="box"];3008[label="primMulNat (Succ vyv1200) (Succ vyv22500)",fontsize=16,color="black",shape="box"];3008 -> 3073[label="",style="solid", color="black", weight=3]; 3009[label="primMulNat (Succ vyv1200) Zero",fontsize=16,color="black",shape="box"];3009 -> 3074[label="",style="solid", color="black", weight=3]; 3010[label="primMulNat Zero (Succ vyv22500)",fontsize=16,color="black",shape="box"];3010 -> 3075[label="",style="solid", color="black", weight=3]; 3011[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];3011 -> 3076[label="",style="solid", color="black", weight=3]; 5160 -> 2745[label="",style="dashed", color="red", weight=0]; 5160[label="primMulInt vyv201 vyv201",fontsize=16,color="magenta"];5160 -> 5245[label="",style="dashed", color="magenta", weight=3]; 5161[label="Integer vyv2010 * Integer vyv2010",fontsize=16,color="black",shape="box"];5161 -> 5246[label="",style="solid", color="black", weight=3]; 3375[label="reduce2Reduce0 (vyv281 * vyv282) (vyv283 * vyv284) (vyv281 * vyv282) (vyv283 * vyv284) True",fontsize=16,color="black",shape="box"];3375 -> 3416[label="",style="solid", color="black", weight=3]; 405[label="pr2F0 vyv12 (Neg vyv25) (vyv12 * vyv12)",fontsize=16,color="black",shape="box"];405 -> 419[label="",style="solid", color="black", weight=3]; 406[label="vyv12 * vyv12",fontsize=16,color="blue",shape="box"];7478[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];406 -> 7478[label="",style="solid", color="blue", weight=9]; 7478 -> 420[label="",style="solid", color="blue", weight=3]; 7479[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];406 -> 7479[label="",style="solid", color="blue", weight=9]; 7479 -> 421[label="",style="solid", color="blue", weight=3]; 7480[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];406 -> 7480[label="",style="solid", color="blue", weight=9]; 7480 -> 422[label="",style="solid", color="blue", weight=3]; 7481[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];406 -> 7481[label="",style="solid", color="blue", weight=9]; 7481 -> 423[label="",style="solid", color="blue", weight=3]; 7482[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];406 -> 7482[label="",style="solid", color="blue", weight=9]; 7482 -> 424[label="",style="solid", color="blue", weight=3]; 512[label="pr2F0G1 (vyv20 * vyv20) vyv20 (Pos vyv27) (even (Pos vyv27))",fontsize=16,color="black",shape="box"];512 -> 534[label="",style="solid", color="black", weight=3]; 2799[label="Integer (primMulInt vyv200 vyv200)",fontsize=16,color="green",shape="box"];2799 -> 2839[label="",style="dashed", color="green", weight=3]; 3966[label="primDivNatS0 (Succ vyv293000) vyv32700 (primGEqNatS (Succ vyv293000) vyv32700)",fontsize=16,color="burlywood",shape="box"];7483[label="vyv32700/Succ vyv327000",fontsize=10,color="white",style="solid",shape="box"];3966 -> 7483[label="",style="solid", color="burlywood", weight=9]; 7483 -> 4015[label="",style="solid", color="burlywood", weight=3]; 7484[label="vyv32700/Zero",fontsize=10,color="white",style="solid",shape="box"];3966 -> 7484[label="",style="solid", color="burlywood", weight=9]; 7484 -> 4016[label="",style="solid", color="burlywood", weight=3]; 3967[label="primDivNatS0 Zero vyv32700 (primGEqNatS Zero vyv32700)",fontsize=16,color="burlywood",shape="box"];7485[label="vyv32700/Succ vyv327000",fontsize=10,color="white",style="solid",shape="box"];3967 -> 7485[label="",style="solid", color="burlywood", weight=9]; 7485 -> 4017[label="",style="solid", color="burlywood", weight=3]; 7486[label="vyv32700/Zero",fontsize=10,color="white",style="solid",shape="box"];3967 -> 7486[label="",style="solid", color="burlywood", weight=9]; 7486 -> 4018[label="",style="solid", color="burlywood", weight=3]; 6632[label="vyv222000",fontsize=16,color="green",shape="box"];6633[label="Zero",fontsize=16,color="green",shape="box"];6634[label="Zero",fontsize=16,color="green",shape="box"];6635[label="vyv222000",fontsize=16,color="green",shape="box"];6631[label="primDivNatS0 (Succ vyv400) (Succ vyv401) (primGEqNatS vyv402 vyv403)",fontsize=16,color="burlywood",shape="triangle"];7487[label="vyv402/Succ vyv4020",fontsize=10,color="white",style="solid",shape="box"];6631 -> 7487[label="",style="solid", color="burlywood", weight=9]; 7487 -> 6676[label="",style="solid", color="burlywood", weight=3]; 7488[label="vyv402/Zero",fontsize=10,color="white",style="solid",shape="box"];6631 -> 7488[label="",style="solid", color="burlywood", weight=9]; 7488 -> 6677[label="",style="solid", color="burlywood", weight=3]; 3282[label="Zero",fontsize=16,color="green",shape="box"];3959 -> 3924[label="",style="dashed", color="red", weight=0]; 3959[label="primDivNatS vyv29600 (Succ vyv325000)",fontsize=16,color="magenta"];3959 -> 3968[label="",style="dashed", color="magenta", weight=3]; 3959 -> 3969[label="",style="dashed", color="magenta", weight=3]; 3960 -> 3924[label="",style="dashed", color="red", weight=0]; 3960[label="primDivNatS vyv29600 (Succ vyv325000)",fontsize=16,color="magenta"];3960 -> 3970[label="",style="dashed", color="magenta", weight=3]; 3960 -> 3971[label="",style="dashed", color="magenta", weight=3]; 3961 -> 3924[label="",style="dashed", color="red", weight=0]; 3961[label="primDivNatS vyv29600 (Succ vyv325000)",fontsize=16,color="magenta"];3961 -> 3972[label="",style="dashed", color="magenta", weight=3]; 3961 -> 3973[label="",style="dashed", color="magenta", weight=3]; 3962 -> 3924[label="",style="dashed", color="red", weight=0]; 3962[label="primDivNatS vyv29600 (Succ vyv325000)",fontsize=16,color="magenta"];3962 -> 3974[label="",style="dashed", color="magenta", weight=3]; 3962 -> 3975[label="",style="dashed", color="magenta", weight=3]; 3260[label="primMinusNat vyv2460 vyv2450",fontsize=16,color="burlywood",shape="triangle"];7489[label="vyv2460/Succ vyv24600",fontsize=10,color="white",style="solid",shape="box"];3260 -> 7489[label="",style="solid", color="burlywood", weight=9]; 7489 -> 3287[label="",style="solid", color="burlywood", weight=3]; 7490[label="vyv2460/Zero",fontsize=10,color="white",style="solid",shape="box"];3260 -> 7490[label="",style="solid", color="burlywood", weight=9]; 7490 -> 3288[label="",style="solid", color="burlywood", weight=3]; 3261[label="Pos (primPlusNat vyv2460 vyv2450)",fontsize=16,color="green",shape="box"];3261 -> 3289[label="",style="dashed", color="green", weight=3]; 3262[label="Neg (primPlusNat vyv2460 vyv2450)",fontsize=16,color="green",shape="box"];3262 -> 3290[label="",style="dashed", color="green", weight=3]; 3263 -> 3260[label="",style="dashed", color="red", weight=0]; 3263[label="primMinusNat vyv2450 vyv2460",fontsize=16,color="magenta"];3263 -> 3291[label="",style="dashed", color="magenta", weight=3]; 3263 -> 3292[label="",style="dashed", color="magenta", weight=3]; 813[label="Pos (Succ vyv3700)",fontsize=16,color="green",shape="box"];814[label="Pos Zero",fontsize=16,color="green",shape="box"];815[label="Neg (Succ vyv3700)",fontsize=16,color="green",shape="box"];816[label="Neg Zero",fontsize=16,color="green",shape="box"];760[label="primEqInt (Pos vyv3800) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];7491[label="vyv3800/Succ vyv38000",fontsize=10,color="white",style="solid",shape="box"];760 -> 7491[label="",style="solid", color="burlywood", weight=9]; 7491 -> 817[label="",style="solid", color="burlywood", weight=3]; 7492[label="vyv3800/Zero",fontsize=10,color="white",style="solid",shape="box"];760 -> 7492[label="",style="solid", color="burlywood", weight=9]; 7492 -> 818[label="",style="solid", color="burlywood", weight=3]; 761[label="primEqInt (Neg vyv3800) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];7493[label="vyv3800/Succ vyv38000",fontsize=10,color="white",style="solid",shape="box"];761 -> 7493[label="",style="solid", color="burlywood", weight=9]; 7493 -> 819[label="",style="solid", color="burlywood", weight=3]; 7494[label="vyv3800/Zero",fontsize=10,color="white",style="solid",shape="box"];761 -> 7494[label="",style="solid", color="burlywood", weight=9]; 7494 -> 820[label="",style="solid", color="burlywood", weight=3]; 3264 -> 3293[label="",style="dashed", color="red", weight=0]; 3264[label="even (vyv242 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero)))",fontsize=16,color="magenta"];3264 -> 3295[label="",style="dashed", color="magenta", weight=3]; 3265 -> 3322[label="",style="dashed", color="red", weight=0]; 3265[label="even (vyv242 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero)))",fontsize=16,color="magenta"];3265 -> 3324[label="",style="dashed", color="magenta", weight=3]; 3266[label="pr2F0G1 (vyv264 * vyv264 * vyv265) (vyv264 * vyv264) (vyv266 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];3266 -> 3335[label="",style="solid", color="black", weight=3]; 3267[label="pr2F0G1 (vyv264 * vyv264 * vyv265) (vyv264 * vyv264) (vyv266 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];3267 -> 3336[label="",style="solid", color="black", weight=3]; 6285[label="vyv241",fontsize=16,color="green",shape="box"];6286[label="vyv241",fontsize=16,color="green",shape="box"];6287[label="vyv241",fontsize=16,color="green",shape="box"];6288[label="Integer (primMulInt (primMulInt vyv2410 vyv2410) vyv2430)",fontsize=16,color="green",shape="box"];6288 -> 6329[label="",style="dashed", color="green", weight=3]; 6290 -> 2840[label="",style="dashed", color="red", weight=0]; 6290[label="reduce2 (vyv2410 * vyv2410) (vyv2411 * vyv2411)",fontsize=16,color="magenta"];6290 -> 6330[label="",style="dashed", color="magenta", weight=3]; 6290 -> 6331[label="",style="dashed", color="magenta", weight=3]; 6289[label="vyv388 * vyv243",fontsize=16,color="burlywood",shape="triangle"];7495[label="vyv388/vyv3880 :% vyv3881",fontsize=10,color="white",style="solid",shape="box"];6289 -> 7495[label="",style="solid", color="burlywood", weight=9]; 7495 -> 6332[label="",style="solid", color="burlywood", weight=3]; 3073 -> 94[label="",style="dashed", color="red", weight=0]; 3073[label="primPlusNat (primMulNat vyv1200 (Succ vyv22500)) (Succ vyv22500)",fontsize=16,color="magenta"];3073 -> 3215[label="",style="dashed", color="magenta", weight=3]; 3073 -> 3216[label="",style="dashed", color="magenta", weight=3]; 3074[label="Zero",fontsize=16,color="green",shape="box"];3075[label="Zero",fontsize=16,color="green",shape="box"];3076[label="Zero",fontsize=16,color="green",shape="box"];5245[label="vyv201",fontsize=16,color="green",shape="box"];5246[label="Integer (primMulInt vyv2010 vyv2010)",fontsize=16,color="green",shape="box"];5246 -> 5379[label="",style="dashed", color="green", weight=3]; 3416[label="vyv281 * vyv282 `quot` reduce2D (vyv281 * vyv282) (vyv283 * vyv284) :% (vyv283 * vyv284 `quot` reduce2D (vyv281 * vyv282) (vyv283 * vyv284))",fontsize=16,color="green",shape="box"];3416 -> 3443[label="",style="dashed", color="green", weight=3]; 3416 -> 3444[label="",style="dashed", color="green", weight=3]; 419[label="pr2F0G (vyv12 * vyv12) vyv12 (Neg vyv25)",fontsize=16,color="black",shape="box"];419 -> 443[label="",style="solid", color="black", weight=3]; 420[label="vyv12 * vyv12",fontsize=16,color="black",shape="triangle"];420 -> 2748[label="",style="solid", color="black", weight=3]; 421[label="vyv12 * vyv12",fontsize=16,color="black",shape="triangle"];421 -> 2749[label="",style="solid", color="black", weight=3]; 422[label="vyv12 * vyv12",fontsize=16,color="black",shape="triangle"];422 -> 2750[label="",style="solid", color="black", weight=3]; 423[label="vyv12 * vyv12",fontsize=16,color="burlywood",shape="triangle"];7496[label="vyv12/Integer vyv120",fontsize=10,color="white",style="solid",shape="box"];423 -> 7496[label="",style="solid", color="burlywood", weight=9]; 7496 -> 2751[label="",style="solid", color="burlywood", weight=3]; 424[label="vyv12 * vyv12",fontsize=16,color="burlywood",shape="triangle"];7497[label="vyv12/vyv120 :% vyv121",fontsize=10,color="white",style="solid",shape="box"];424 -> 7497[label="",style="solid", color="burlywood", weight=9]; 7497 -> 2752[label="",style="solid", color="burlywood", weight=3]; 534[label="pr2F0G1 (vyv20 * vyv20) vyv20 (Pos vyv27) (primEvenInt (Pos vyv27))",fontsize=16,color="black",shape="box"];534 -> 550[label="",style="solid", color="black", weight=3]; 2839 -> 2860[label="",style="dashed", color="red", weight=0]; 2839[label="primMulInt vyv200 vyv200",fontsize=16,color="magenta"];2839 -> 2863[label="",style="dashed", color="magenta", weight=3]; 2839 -> 2864[label="",style="dashed", color="magenta", weight=3]; 4015[label="primDivNatS0 (Succ vyv293000) (Succ vyv327000) (primGEqNatS (Succ vyv293000) (Succ vyv327000))",fontsize=16,color="black",shape="box"];4015 -> 4030[label="",style="solid", color="black", weight=3]; 4016[label="primDivNatS0 (Succ vyv293000) Zero (primGEqNatS (Succ vyv293000) Zero)",fontsize=16,color="black",shape="box"];4016 -> 4031[label="",style="solid", color="black", weight=3]; 4017[label="primDivNatS0 Zero (Succ vyv327000) (primGEqNatS Zero (Succ vyv327000))",fontsize=16,color="black",shape="box"];4017 -> 4032[label="",style="solid", color="black", weight=3]; 4018[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];4018 -> 4033[label="",style="solid", color="black", weight=3]; 6676[label="primDivNatS0 (Succ vyv400) (Succ vyv401) (primGEqNatS (Succ vyv4020) vyv403)",fontsize=16,color="burlywood",shape="box"];7498[label="vyv403/Succ vyv4030",fontsize=10,color="white",style="solid",shape="box"];6676 -> 7498[label="",style="solid", color="burlywood", weight=9]; 7498 -> 6771[label="",style="solid", color="burlywood", weight=3]; 7499[label="vyv403/Zero",fontsize=10,color="white",style="solid",shape="box"];6676 -> 7499[label="",style="solid", color="burlywood", weight=9]; 7499 -> 6772[label="",style="solid", color="burlywood", weight=3]; 6677[label="primDivNatS0 (Succ vyv400) (Succ vyv401) (primGEqNatS Zero vyv403)",fontsize=16,color="burlywood",shape="box"];7500[label="vyv403/Succ vyv4030",fontsize=10,color="white",style="solid",shape="box"];6677 -> 7500[label="",style="solid", color="burlywood", weight=9]; 7500 -> 6773[label="",style="solid", color="burlywood", weight=3]; 7501[label="vyv403/Zero",fontsize=10,color="white",style="solid",shape="box"];6677 -> 7501[label="",style="solid", color="burlywood", weight=9]; 7501 -> 6774[label="",style="solid", color="burlywood", weight=3]; 3968[label="vyv29600",fontsize=16,color="green",shape="box"];3969[label="vyv325000",fontsize=16,color="green",shape="box"];3970[label="vyv29600",fontsize=16,color="green",shape="box"];3971[label="vyv325000",fontsize=16,color="green",shape="box"];3972[label="vyv29600",fontsize=16,color="green",shape="box"];3973[label="vyv325000",fontsize=16,color="green",shape="box"];3974[label="vyv29600",fontsize=16,color="green",shape="box"];3975[label="vyv325000",fontsize=16,color="green",shape="box"];3287[label="primMinusNat (Succ vyv24600) vyv2450",fontsize=16,color="burlywood",shape="box"];7502[label="vyv2450/Succ vyv24500",fontsize=10,color="white",style="solid",shape="box"];3287 -> 7502[label="",style="solid", color="burlywood", weight=9]; 7502 -> 3337[label="",style="solid", color="burlywood", weight=3]; 7503[label="vyv2450/Zero",fontsize=10,color="white",style="solid",shape="box"];3287 -> 7503[label="",style="solid", color="burlywood", weight=9]; 7503 -> 3338[label="",style="solid", color="burlywood", weight=3]; 3288[label="primMinusNat Zero vyv2450",fontsize=16,color="burlywood",shape="box"];7504[label="vyv2450/Succ vyv24500",fontsize=10,color="white",style="solid",shape="box"];3288 -> 7504[label="",style="solid", color="burlywood", weight=9]; 7504 -> 3339[label="",style="solid", color="burlywood", weight=3]; 7505[label="vyv2450/Zero",fontsize=10,color="white",style="solid",shape="box"];3288 -> 7505[label="",style="solid", color="burlywood", weight=9]; 7505 -> 3340[label="",style="solid", color="burlywood", weight=3]; 3289 -> 94[label="",style="dashed", color="red", weight=0]; 3289[label="primPlusNat vyv2460 vyv2450",fontsize=16,color="magenta"];3289 -> 3341[label="",style="dashed", color="magenta", weight=3]; 3289 -> 3342[label="",style="dashed", color="magenta", weight=3]; 3290 -> 94[label="",style="dashed", color="red", weight=0]; 3290[label="primPlusNat vyv2460 vyv2450",fontsize=16,color="magenta"];3290 -> 3343[label="",style="dashed", color="magenta", weight=3]; 3290 -> 3344[label="",style="dashed", color="magenta", weight=3]; 3291[label="vyv2450",fontsize=16,color="green",shape="box"];3292[label="vyv2460",fontsize=16,color="green",shape="box"];817[label="primEqInt (Pos (Succ vyv38000)) (Pos Zero)",fontsize=16,color="black",shape="box"];817 -> 905[label="",style="solid", color="black", weight=3]; 818[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];818 -> 906[label="",style="solid", color="black", weight=3]; 819[label="primEqInt (Neg (Succ vyv38000)) (Pos Zero)",fontsize=16,color="black",shape="box"];819 -> 907[label="",style="solid", color="black", weight=3]; 820[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];820 -> 908[label="",style="solid", color="black", weight=3]; 3295 -> 3039[label="",style="dashed", color="red", weight=0]; 3295[label="vyv242 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];3295 -> 3345[label="",style="dashed", color="magenta", weight=3]; 3295 -> 3346[label="",style="dashed", color="magenta", weight=3]; 3324 -> 3054[label="",style="dashed", color="red", weight=0]; 3324[label="vyv242 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];3324 -> 3347[label="",style="dashed", color="magenta", weight=3]; 3324 -> 3348[label="",style="dashed", color="magenta", weight=3]; 3335[label="pr2F0G0 (vyv264 * vyv264 * vyv265) (vyv264 * vyv264) (vyv266 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];3335 -> 3378[label="",style="solid", color="black", weight=3]; 3336 -> 2645[label="",style="dashed", color="red", weight=0]; 3336[label="pr2F0G (vyv264 * vyv264 * vyv265) (vyv264 * vyv264 * (vyv264 * vyv264)) ((vyv266 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))) `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3336 -> 3379[label="",style="dashed", color="magenta", weight=3]; 3336 -> 3380[label="",style="dashed", color="magenta", weight=3]; 3336 -> 3381[label="",style="dashed", color="magenta", weight=3]; 6329 -> 2860[label="",style="dashed", color="red", weight=0]; 6329[label="primMulInt (primMulInt vyv2410 vyv2410) vyv2430",fontsize=16,color="magenta"];6329 -> 6420[label="",style="dashed", color="magenta", weight=3]; 6329 -> 6421[label="",style="dashed", color="magenta", weight=3]; 6330[label="vyv2411",fontsize=16,color="green",shape="box"];6331[label="vyv2410",fontsize=16,color="green",shape="box"];6332[label="vyv3880 :% vyv3881 * vyv243",fontsize=16,color="burlywood",shape="box"];7506[label="vyv243/vyv2430 :% vyv2431",fontsize=10,color="white",style="solid",shape="box"];6332 -> 7506[label="",style="solid", color="burlywood", weight=9]; 7506 -> 6422[label="",style="solid", color="burlywood", weight=3]; 3215 -> 2955[label="",style="dashed", color="red", weight=0]; 3215[label="primMulNat vyv1200 (Succ vyv22500)",fontsize=16,color="magenta"];3215 -> 3268[label="",style="dashed", color="magenta", weight=3]; 3215 -> 3269[label="",style="dashed", color="magenta", weight=3]; 3216[label="Succ vyv22500",fontsize=16,color="green",shape="box"];5379 -> 2745[label="",style="dashed", color="red", weight=0]; 5379[label="primMulInt vyv2010 vyv2010",fontsize=16,color="magenta"];5379 -> 5560[label="",style="dashed", color="magenta", weight=3]; 3443[label="vyv281 * vyv282 `quot` reduce2D (vyv281 * vyv282) (vyv283 * vyv284)",fontsize=16,color="blue",shape="box"];7507[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3443 -> 7507[label="",style="solid", color="blue", weight=9]; 7507 -> 3485[label="",style="solid", color="blue", weight=3]; 7508[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3443 -> 7508[label="",style="solid", color="blue", weight=9]; 7508 -> 3486[label="",style="solid", color="blue", weight=3]; 3444[label="vyv283 * vyv284 `quot` reduce2D (vyv281 * vyv282) (vyv283 * vyv284)",fontsize=16,color="blue",shape="box"];7509[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3444 -> 7509[label="",style="solid", color="blue", weight=9]; 7509 -> 3487[label="",style="solid", color="blue", weight=3]; 7510[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3444 -> 7510[label="",style="solid", color="blue", weight=9]; 7510 -> 3488[label="",style="solid", color="blue", weight=3]; 443[label="pr2F0G2 (vyv12 * vyv12) vyv12 (Neg vyv25)",fontsize=16,color="black",shape="box"];443 -> 458[label="",style="solid", color="black", weight=3]; 2748 -> 2821[label="",style="dashed", color="red", weight=0]; 2748[label="primMulFloat vyv12 vyv12",fontsize=16,color="magenta"];2748 -> 2824[label="",style="dashed", color="magenta", weight=3]; 2749 -> 2844[label="",style="dashed", color="red", weight=0]; 2749[label="primMulDouble vyv12 vyv12",fontsize=16,color="magenta"];2749 -> 2847[label="",style="dashed", color="magenta", weight=3]; 2750 -> 2860[label="",style="dashed", color="red", weight=0]; 2750[label="primMulInt vyv12 vyv12",fontsize=16,color="magenta"];2750 -> 2865[label="",style="dashed", color="magenta", weight=3]; 2751[label="Integer vyv120 * Integer vyv120",fontsize=16,color="black",shape="box"];2751 -> 2804[label="",style="solid", color="black", weight=3]; 2752[label="vyv120 :% vyv121 * (vyv120 :% vyv121)",fontsize=16,color="black",shape="box"];2752 -> 2805[label="",style="solid", color="black", weight=3]; 550[label="pr2F0G1 (vyv20 * vyv20) vyv20 (Pos vyv27) (primEvenNat vyv27)",fontsize=16,color="burlywood",shape="box"];7511[label="vyv27/Succ vyv270",fontsize=10,color="white",style="solid",shape="box"];550 -> 7511[label="",style="solid", color="burlywood", weight=9]; 7511 -> 560[label="",style="solid", color="burlywood", weight=3]; 7512[label="vyv27/Zero",fontsize=10,color="white",style="solid",shape="box"];550 -> 7512[label="",style="solid", color="burlywood", weight=9]; 7512 -> 561[label="",style="solid", color="burlywood", weight=3]; 2863[label="vyv200",fontsize=16,color="green",shape="box"];2864[label="vyv200",fontsize=16,color="green",shape="box"];4030 -> 6631[label="",style="dashed", color="red", weight=0]; 4030[label="primDivNatS0 (Succ vyv293000) (Succ vyv327000) (primGEqNatS vyv293000 vyv327000)",fontsize=16,color="magenta"];4030 -> 6636[label="",style="dashed", color="magenta", weight=3]; 4030 -> 6637[label="",style="dashed", color="magenta", weight=3]; 4030 -> 6638[label="",style="dashed", color="magenta", weight=3]; 4030 -> 6639[label="",style="dashed", color="magenta", weight=3]; 4031[label="primDivNatS0 (Succ vyv293000) Zero True",fontsize=16,color="black",shape="box"];4031 -> 4038[label="",style="solid", color="black", weight=3]; 4032[label="primDivNatS0 Zero (Succ vyv327000) False",fontsize=16,color="black",shape="box"];4032 -> 4039[label="",style="solid", color="black", weight=3]; 4033[label="primDivNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];4033 -> 4040[label="",style="solid", color="black", weight=3]; 6771[label="primDivNatS0 (Succ vyv400) (Succ vyv401) (primGEqNatS (Succ vyv4020) (Succ vyv4030))",fontsize=16,color="black",shape="box"];6771 -> 6808[label="",style="solid", color="black", weight=3]; 6772[label="primDivNatS0 (Succ vyv400) (Succ vyv401) (primGEqNatS (Succ vyv4020) Zero)",fontsize=16,color="black",shape="box"];6772 -> 6809[label="",style="solid", color="black", weight=3]; 6773[label="primDivNatS0 (Succ vyv400) (Succ vyv401) (primGEqNatS Zero (Succ vyv4030))",fontsize=16,color="black",shape="box"];6773 -> 6810[label="",style="solid", color="black", weight=3]; 6774[label="primDivNatS0 (Succ vyv400) (Succ vyv401) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];6774 -> 6811[label="",style="solid", color="black", weight=3]; 3337[label="primMinusNat (Succ vyv24600) (Succ vyv24500)",fontsize=16,color="black",shape="box"];3337 -> 3382[label="",style="solid", color="black", weight=3]; 3338[label="primMinusNat (Succ vyv24600) Zero",fontsize=16,color="black",shape="box"];3338 -> 3383[label="",style="solid", color="black", weight=3]; 3339[label="primMinusNat Zero (Succ vyv24500)",fontsize=16,color="black",shape="box"];3339 -> 3384[label="",style="solid", color="black", weight=3]; 3340[label="primMinusNat Zero Zero",fontsize=16,color="black",shape="box"];3340 -> 3385[label="",style="solid", color="black", weight=3]; 3341[label="vyv2460",fontsize=16,color="green",shape="box"];3342[label="vyv2450",fontsize=16,color="green",shape="box"];3343[label="vyv2460",fontsize=16,color="green",shape="box"];3344[label="vyv2450",fontsize=16,color="green",shape="box"];905[label="False",fontsize=16,color="green",shape="box"];906[label="True",fontsize=16,color="green",shape="box"];907[label="False",fontsize=16,color="green",shape="box"];908[label="True",fontsize=16,color="green",shape="box"];3345 -> 29[label="",style="dashed", color="red", weight=0]; 3345[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];3346 -> 2890[label="",style="dashed", color="red", weight=0]; 3346[label="vyv242 `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];3346 -> 3386[label="",style="dashed", color="magenta", weight=3]; 3347 -> 30[label="",style="dashed", color="red", weight=0]; 3347[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];3348 -> 2891[label="",style="dashed", color="red", weight=0]; 3348[label="vyv242 `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];3348 -> 3387[label="",style="dashed", color="magenta", weight=3]; 3378 -> 6926[label="",style="dashed", color="red", weight=0]; 3378[label="pr2F0G0 (vyv264 * vyv264 * vyv265) (vyv264 * vyv264) (vyv266 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))) True",fontsize=16,color="magenta"];3378 -> 6927[label="",style="dashed", color="magenta", weight=3]; 3378 -> 6928[label="",style="dashed", color="magenta", weight=3]; 3378 -> 6929[label="",style="dashed", color="magenta", weight=3]; 3379[label="vyv264 * vyv264",fontsize=16,color="blue",shape="box"];7513[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3379 -> 7513[label="",style="solid", color="blue", weight=9]; 7513 -> 3420[label="",style="solid", color="blue", weight=3]; 7514[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3379 -> 7514[label="",style="solid", color="blue", weight=9]; 7514 -> 3421[label="",style="solid", color="blue", weight=3]; 7515[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3379 -> 7515[label="",style="solid", color="blue", weight=9]; 7515 -> 3422[label="",style="solid", color="blue", weight=3]; 7516[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3379 -> 7516[label="",style="solid", color="blue", weight=9]; 7516 -> 3423[label="",style="solid", color="blue", weight=3]; 7517[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3379 -> 7517[label="",style="solid", color="blue", weight=9]; 7517 -> 3424[label="",style="solid", color="blue", weight=3]; 3380[label="vyv266 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))",fontsize=16,color="blue",shape="box"];7518[label="- :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3380 -> 7518[label="",style="solid", color="blue", weight=9]; 7518 -> 3425[label="",style="solid", color="blue", weight=3]; 7519[label="- :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3380 -> 7519[label="",style="solid", color="blue", weight=9]; 7519 -> 3426[label="",style="solid", color="blue", weight=3]; 3381[label="vyv264 * vyv264 * vyv265",fontsize=16,color="blue",shape="box"];7520[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3381 -> 7520[label="",style="solid", color="blue", weight=9]; 7520 -> 3427[label="",style="solid", color="blue", weight=3]; 7521[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3381 -> 7521[label="",style="solid", color="blue", weight=9]; 7521 -> 3428[label="",style="solid", color="blue", weight=3]; 7522[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3381 -> 7522[label="",style="solid", color="blue", weight=9]; 7522 -> 3429[label="",style="solid", color="blue", weight=3]; 7523[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3381 -> 7523[label="",style="solid", color="blue", weight=9]; 7523 -> 3430[label="",style="solid", color="blue", weight=3]; 7524[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3381 -> 7524[label="",style="solid", color="blue", weight=9]; 7524 -> 3431[label="",style="solid", color="blue", weight=3]; 6420[label="vyv2430",fontsize=16,color="green",shape="box"];6421 -> 2745[label="",style="dashed", color="red", weight=0]; 6421[label="primMulInt vyv2410 vyv2410",fontsize=16,color="magenta"];6421 -> 6583[label="",style="dashed", color="magenta", weight=3]; 6422[label="vyv3880 :% vyv3881 * (vyv2430 :% vyv2431)",fontsize=16,color="black",shape="box"];6422 -> 6584[label="",style="solid", color="black", weight=3]; 3268[label="vyv1200",fontsize=16,color="green",shape="box"];3269[label="Succ vyv22500",fontsize=16,color="green",shape="box"];5560[label="vyv2010",fontsize=16,color="green",shape="box"];3485 -> 3507[label="",style="dashed", color="red", weight=0]; 3485[label="vyv281 * vyv282 `quot` reduce2D (vyv281 * vyv282) (vyv283 * vyv284)",fontsize=16,color="magenta"];3485 -> 3508[label="",style="dashed", color="magenta", weight=3]; 3485 -> 3509[label="",style="dashed", color="magenta", weight=3]; 3485 -> 3510[label="",style="dashed", color="magenta", weight=3]; 3486 -> 3514[label="",style="dashed", color="red", weight=0]; 3486[label="vyv281 * vyv282 `quot` reduce2D (vyv281 * vyv282) (vyv283 * vyv284)",fontsize=16,color="magenta"];3486 -> 3515[label="",style="dashed", color="magenta", weight=3]; 3486 -> 3516[label="",style="dashed", color="magenta", weight=3]; 3486 -> 3517[label="",style="dashed", color="magenta", weight=3]; 3487 -> 3507[label="",style="dashed", color="red", weight=0]; 3487[label="vyv283 * vyv284 `quot` reduce2D (vyv281 * vyv282) (vyv283 * vyv284)",fontsize=16,color="magenta"];3487 -> 3511[label="",style="dashed", color="magenta", weight=3]; 3487 -> 3512[label="",style="dashed", color="magenta", weight=3]; 3487 -> 3513[label="",style="dashed", color="magenta", weight=3]; 3488 -> 3514[label="",style="dashed", color="red", weight=0]; 3488[label="vyv283 * vyv284 `quot` reduce2D (vyv281 * vyv282) (vyv283 * vyv284)",fontsize=16,color="magenta"];3488 -> 3518[label="",style="dashed", color="magenta", weight=3]; 3488 -> 3519[label="",style="dashed", color="magenta", weight=3]; 3488 -> 3520[label="",style="dashed", color="magenta", weight=3]; 458[label="pr2F0G1 (vyv12 * vyv12) vyv12 (Neg vyv25) (even (Neg vyv25))",fontsize=16,color="black",shape="box"];458 -> 478[label="",style="solid", color="black", weight=3]; 2824[label="vyv12",fontsize=16,color="green",shape="box"];2847[label="vyv12",fontsize=16,color="green",shape="box"];2865[label="vyv12",fontsize=16,color="green",shape="box"];2804[label="Integer (primMulInt vyv120 vyv120)",fontsize=16,color="green",shape="box"];2804 -> 2841[label="",style="dashed", color="green", weight=3]; 2805 -> 2800[label="",style="dashed", color="red", weight=0]; 2805[label="reduce (vyv120 * vyv120) (vyv121 * vyv121)",fontsize=16,color="magenta"];2805 -> 2842[label="",style="dashed", color="magenta", weight=3]; 2805 -> 2843[label="",style="dashed", color="magenta", weight=3]; 560[label="pr2F0G1 (vyv20 * vyv20) vyv20 (Pos (Succ vyv270)) (primEvenNat (Succ vyv270))",fontsize=16,color="burlywood",shape="box"];7525[label="vyv270/Succ vyv2700",fontsize=10,color="white",style="solid",shape="box"];560 -> 7525[label="",style="solid", color="burlywood", weight=9]; 7525 -> 569[label="",style="solid", color="burlywood", weight=3]; 7526[label="vyv270/Zero",fontsize=10,color="white",style="solid",shape="box"];560 -> 7526[label="",style="solid", color="burlywood", weight=9]; 7526 -> 570[label="",style="solid", color="burlywood", weight=3]; 561[label="pr2F0G1 (vyv20 * vyv20) vyv20 (Pos Zero) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];561 -> 571[label="",style="solid", color="black", weight=3]; 6636[label="vyv293000",fontsize=16,color="green",shape="box"];6637[label="vyv327000",fontsize=16,color="green",shape="box"];6638[label="vyv327000",fontsize=16,color="green",shape="box"];6639[label="vyv293000",fontsize=16,color="green",shape="box"];4038[label="Succ (primDivNatS (primMinusNatS (Succ vyv293000) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];4038 -> 4065[label="",style="dashed", color="green", weight=3]; 4039[label="Zero",fontsize=16,color="green",shape="box"];4040[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];4040 -> 4066[label="",style="dashed", color="green", weight=3]; 6808 -> 6631[label="",style="dashed", color="red", weight=0]; 6808[label="primDivNatS0 (Succ vyv400) (Succ vyv401) (primGEqNatS vyv4020 vyv4030)",fontsize=16,color="magenta"];6808 -> 6860[label="",style="dashed", color="magenta", weight=3]; 6808 -> 6861[label="",style="dashed", color="magenta", weight=3]; 6809[label="primDivNatS0 (Succ vyv400) (Succ vyv401) True",fontsize=16,color="black",shape="triangle"];6809 -> 6862[label="",style="solid", color="black", weight=3]; 6810[label="primDivNatS0 (Succ vyv400) (Succ vyv401) False",fontsize=16,color="black",shape="box"];6810 -> 6863[label="",style="solid", color="black", weight=3]; 6811 -> 6809[label="",style="dashed", color="red", weight=0]; 6811[label="primDivNatS0 (Succ vyv400) (Succ vyv401) True",fontsize=16,color="magenta"];3382 -> 3260[label="",style="dashed", color="red", weight=0]; 3382[label="primMinusNat vyv24600 vyv24500",fontsize=16,color="magenta"];3382 -> 3432[label="",style="dashed", color="magenta", weight=3]; 3382 -> 3433[label="",style="dashed", color="magenta", weight=3]; 3383[label="Pos (Succ vyv24600)",fontsize=16,color="green",shape="box"];3384[label="Neg (Succ vyv24500)",fontsize=16,color="green",shape="box"];3385[label="Pos Zero",fontsize=16,color="green",shape="box"];3386[label="vyv242",fontsize=16,color="green",shape="box"];3387[label="vyv242",fontsize=16,color="green",shape="box"];6927[label="vyv264 * vyv264",fontsize=16,color="blue",shape="box"];7527[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];6927 -> 7527[label="",style="solid", color="blue", weight=9]; 7527 -> 6957[label="",style="solid", color="blue", weight=3]; 7528[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];6927 -> 7528[label="",style="solid", color="blue", weight=9]; 7528 -> 6958[label="",style="solid", color="blue", weight=3]; 7529[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];6927 -> 7529[label="",style="solid", color="blue", weight=9]; 7529 -> 6959[label="",style="solid", color="blue", weight=3]; 7530[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];6927 -> 7530[label="",style="solid", color="blue", weight=9]; 7530 -> 6960[label="",style="solid", color="blue", weight=3]; 7531[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];6927 -> 7531[label="",style="solid", color="blue", weight=9]; 7531 -> 6961[label="",style="solid", color="blue", weight=3]; 6928[label="vyv265",fontsize=16,color="green",shape="box"];6929[label="vyv266 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))",fontsize=16,color="blue",shape="box"];7532[label="- :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];6929 -> 7532[label="",style="solid", color="blue", weight=9]; 7532 -> 6962[label="",style="solid", color="blue", weight=3]; 7533[label="- :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];6929 -> 7533[label="",style="solid", color="blue", weight=9]; 7533 -> 6963[label="",style="solid", color="blue", weight=3]; 6926[label="pr2F0G0 (vyv414 * vyv415) vyv414 vyv416 True",fontsize=16,color="black",shape="triangle"];6926 -> 6964[label="",style="solid", color="black", weight=3]; 3420[label="vyv264 * vyv264",fontsize=16,color="black",shape="box"];3420 -> 5146[label="",style="solid", color="black", weight=3]; 3421[label="vyv264 * vyv264",fontsize=16,color="black",shape="box"];3421 -> 5147[label="",style="solid", color="black", weight=3]; 3422[label="vyv264 * vyv264",fontsize=16,color="black",shape="box"];3422 -> 5148[label="",style="solid", color="black", weight=3]; 3423[label="vyv264 * vyv264",fontsize=16,color="burlywood",shape="box"];7534[label="vyv264/Integer vyv2640",fontsize=10,color="white",style="solid",shape="box"];3423 -> 7534[label="",style="solid", color="burlywood", weight=9]; 7534 -> 5149[label="",style="solid", color="burlywood", weight=3]; 3424[label="vyv264 * vyv264",fontsize=16,color="burlywood",shape="box"];7535[label="vyv264/vyv2640 :% vyv2641",fontsize=10,color="white",style="solid",shape="box"];3424 -> 7535[label="",style="solid", color="burlywood", weight=9]; 7535 -> 5150[label="",style="solid", color="burlywood", weight=3]; 3425 -> 3039[label="",style="dashed", color="red", weight=0]; 3425[label="vyv266 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];3425 -> 3453[label="",style="dashed", color="magenta", weight=3]; 3425 -> 3454[label="",style="dashed", color="magenta", weight=3]; 3426 -> 3054[label="",style="dashed", color="red", weight=0]; 3426[label="vyv266 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];3426 -> 3455[label="",style="dashed", color="magenta", weight=3]; 3426 -> 3456[label="",style="dashed", color="magenta", weight=3]; 3427[label="vyv264 * vyv264 * vyv265",fontsize=16,color="black",shape="box"];3427 -> 5151[label="",style="solid", color="black", weight=3]; 3428[label="vyv264 * vyv264 * vyv265",fontsize=16,color="black",shape="box"];3428 -> 5152[label="",style="solid", color="black", weight=3]; 3429[label="vyv264 * vyv264 * vyv265",fontsize=16,color="black",shape="box"];3429 -> 5153[label="",style="solid", color="black", weight=3]; 3430[label="vyv264 * vyv264 * vyv265",fontsize=16,color="burlywood",shape="box"];7536[label="vyv264/Integer vyv2640",fontsize=10,color="white",style="solid",shape="box"];3430 -> 7536[label="",style="solid", color="burlywood", weight=9]; 7536 -> 5154[label="",style="solid", color="burlywood", weight=3]; 3431[label="vyv264 * vyv264 * vyv265",fontsize=16,color="burlywood",shape="box"];7537[label="vyv264/vyv2640 :% vyv2641",fontsize=10,color="white",style="solid",shape="box"];3431 -> 7537[label="",style="solid", color="burlywood", weight=9]; 7537 -> 5155[label="",style="solid", color="burlywood", weight=3]; 6583[label="vyv2410",fontsize=16,color="green",shape="box"];6584[label="reduce (vyv3880 * vyv2430) (vyv3881 * vyv2431)",fontsize=16,color="black",shape="box"];6584 -> 6598[label="",style="solid", color="black", weight=3]; 3508[label="vyv281 * vyv282",fontsize=16,color="black",shape="box"];3508 -> 5177[label="",style="solid", color="black", weight=3]; 3509[label="vyv283 * vyv284",fontsize=16,color="black",shape="box"];3509 -> 5178[label="",style="solid", color="black", weight=3]; 3510[label="vyv281 * vyv282",fontsize=16,color="black",shape="box"];3510 -> 5179[label="",style="solid", color="black", weight=3]; 3507[label="vyv293 `quot` reduce2D vyv295 vyv294",fontsize=16,color="black",shape="triangle"];3507 -> 3527[label="",style="solid", color="black", weight=3]; 3515[label="vyv281 * vyv282",fontsize=16,color="burlywood",shape="triangle"];7538[label="vyv281/Integer vyv2810",fontsize=10,color="white",style="solid",shape="box"];3515 -> 7538[label="",style="solid", color="burlywood", weight=9]; 7538 -> 5180[label="",style="solid", color="burlywood", weight=3]; 3516[label="vyv283 * vyv284",fontsize=16,color="burlywood",shape="box"];7539[label="vyv283/Integer vyv2830",fontsize=10,color="white",style="solid",shape="box"];3516 -> 7539[label="",style="solid", color="burlywood", weight=9]; 7539 -> 5181[label="",style="solid", color="burlywood", weight=3]; 3517[label="vyv281 * vyv282",fontsize=16,color="burlywood",shape="box"];7540[label="vyv281/Integer vyv2810",fontsize=10,color="white",style="solid",shape="box"];3517 -> 7540[label="",style="solid", color="burlywood", weight=9]; 7540 -> 5182[label="",style="solid", color="burlywood", weight=3]; 3514[label="vyv296 `quot` reduce2D vyv298 vyv297",fontsize=16,color="burlywood",shape="triangle"];7541[label="vyv296/Integer vyv2960",fontsize=10,color="white",style="solid",shape="box"];3514 -> 7541[label="",style="solid", color="burlywood", weight=9]; 7541 -> 3534[label="",style="solid", color="burlywood", weight=3]; 3511[label="vyv283 * vyv284",fontsize=16,color="black",shape="box"];3511 -> 5183[label="",style="solid", color="black", weight=3]; 3512[label="vyv283 * vyv284",fontsize=16,color="black",shape="box"];3512 -> 5184[label="",style="solid", color="black", weight=3]; 3513[label="vyv281 * vyv282",fontsize=16,color="black",shape="box"];3513 -> 5185[label="",style="solid", color="black", weight=3]; 3518[label="vyv283 * vyv284",fontsize=16,color="burlywood",shape="box"];7542[label="vyv283/Integer vyv2830",fontsize=10,color="white",style="solid",shape="box"];3518 -> 7542[label="",style="solid", color="burlywood", weight=9]; 7542 -> 5186[label="",style="solid", color="burlywood", weight=3]; 3519[label="vyv283 * vyv284",fontsize=16,color="burlywood",shape="box"];7543[label="vyv283/Integer vyv2830",fontsize=10,color="white",style="solid",shape="box"];3519 -> 7543[label="",style="solid", color="burlywood", weight=9]; 7543 -> 5187[label="",style="solid", color="burlywood", weight=3]; 3520[label="vyv281 * vyv282",fontsize=16,color="burlywood",shape="box"];7544[label="vyv281/Integer vyv2810",fontsize=10,color="white",style="solid",shape="box"];3520 -> 7544[label="",style="solid", color="burlywood", weight=9]; 7544 -> 5188[label="",style="solid", color="burlywood", weight=3]; 478[label="pr2F0G1 (vyv12 * vyv12) vyv12 (Neg vyv25) (primEvenInt (Neg vyv25))",fontsize=16,color="black",shape="box"];478 -> 499[label="",style="solid", color="black", weight=3]; 2841 -> 2860[label="",style="dashed", color="red", weight=0]; 2841[label="primMulInt vyv120 vyv120",fontsize=16,color="magenta"];2841 -> 2866[label="",style="dashed", color="magenta", weight=3]; 2841 -> 2867[label="",style="dashed", color="magenta", weight=3]; 2842[label="vyv121",fontsize=16,color="green",shape="box"];2843[label="vyv120",fontsize=16,color="green",shape="box"];569[label="pr2F0G1 (vyv20 * vyv20) vyv20 (Pos (Succ (Succ vyv2700))) (primEvenNat (Succ (Succ vyv2700)))",fontsize=16,color="black",shape="box"];569 -> 609[label="",style="solid", color="black", weight=3]; 570[label="pr2F0G1 (vyv20 * vyv20) vyv20 (Pos (Succ Zero)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];570 -> 610[label="",style="solid", color="black", weight=3]; 571[label="pr2F0G1 (vyv20 * vyv20) vyv20 (Pos Zero) True",fontsize=16,color="black",shape="box"];571 -> 611[label="",style="solid", color="black", weight=3]; 4065 -> 3924[label="",style="dashed", color="red", weight=0]; 4065[label="primDivNatS (primMinusNatS (Succ vyv293000) Zero) (Succ Zero)",fontsize=16,color="magenta"];4065 -> 4079[label="",style="dashed", color="magenta", weight=3]; 4065 -> 4080[label="",style="dashed", color="magenta", weight=3]; 4066 -> 3924[label="",style="dashed", color="red", weight=0]; 4066[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];4066 -> 4081[label="",style="dashed", color="magenta", weight=3]; 4066 -> 4082[label="",style="dashed", color="magenta", weight=3]; 6860[label="vyv4020",fontsize=16,color="green",shape="box"];6861[label="vyv4030",fontsize=16,color="green",shape="box"];6862[label="Succ (primDivNatS (primMinusNatS (Succ vyv400) (Succ vyv401)) (Succ (Succ vyv401)))",fontsize=16,color="green",shape="box"];6862 -> 6906[label="",style="dashed", color="green", weight=3]; 6863[label="Zero",fontsize=16,color="green",shape="box"];3432[label="vyv24600",fontsize=16,color="green",shape="box"];3433[label="vyv24500",fontsize=16,color="green",shape="box"];6957 -> 420[label="",style="dashed", color="red", weight=0]; 6957[label="vyv264 * vyv264",fontsize=16,color="magenta"];6957 -> 6972[label="",style="dashed", color="magenta", weight=3]; 6958 -> 421[label="",style="dashed", color="red", weight=0]; 6958[label="vyv264 * vyv264",fontsize=16,color="magenta"];6958 -> 6973[label="",style="dashed", color="magenta", weight=3]; 6959 -> 422[label="",style="dashed", color="red", weight=0]; 6959[label="vyv264 * vyv264",fontsize=16,color="magenta"];6959 -> 6974[label="",style="dashed", color="magenta", weight=3]; 6960 -> 423[label="",style="dashed", color="red", weight=0]; 6960[label="vyv264 * vyv264",fontsize=16,color="magenta"];6960 -> 6975[label="",style="dashed", color="magenta", weight=3]; 6961 -> 424[label="",style="dashed", color="red", weight=0]; 6961[label="vyv264 * vyv264",fontsize=16,color="magenta"];6961 -> 6976[label="",style="dashed", color="magenta", weight=3]; 6962 -> 3039[label="",style="dashed", color="red", weight=0]; 6962[label="vyv266 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];6962 -> 6977[label="",style="dashed", color="magenta", weight=3]; 6962 -> 6978[label="",style="dashed", color="magenta", weight=3]; 6963 -> 3054[label="",style="dashed", color="red", weight=0]; 6963[label="vyv266 `quot` fromInt (Pos (Succ (Succ Zero))) - fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];6963 -> 6979[label="",style="dashed", color="magenta", weight=3]; 6963 -> 6980[label="",style="dashed", color="magenta", weight=3]; 6964[label="pr2F vyv414 (vyv416 - fromInt (Pos (Succ Zero))) (vyv414 * (vyv414 * vyv415))",fontsize=16,color="black",shape="box"];6964 -> 6981[label="",style="solid", color="black", weight=3]; 5146 -> 2743[label="",style="dashed", color="red", weight=0]; 5146[label="primMulFloat vyv264 vyv264",fontsize=16,color="magenta"];5146 -> 5224[label="",style="dashed", color="magenta", weight=3]; 5147 -> 2744[label="",style="dashed", color="red", weight=0]; 5147[label="primMulDouble vyv264 vyv264",fontsize=16,color="magenta"];5147 -> 5225[label="",style="dashed", color="magenta", weight=3]; 5148 -> 2745[label="",style="dashed", color="red", weight=0]; 5148[label="primMulInt vyv264 vyv264",fontsize=16,color="magenta"];5148 -> 5226[label="",style="dashed", color="magenta", weight=3]; 5149[label="Integer vyv2640 * Integer vyv2640",fontsize=16,color="black",shape="box"];5149 -> 5227[label="",style="solid", color="black", weight=3]; 5150[label="vyv2640 :% vyv2641 * (vyv2640 :% vyv2641)",fontsize=16,color="black",shape="box"];5150 -> 5228[label="",style="solid", color="black", weight=3]; 3453 -> 29[label="",style="dashed", color="red", weight=0]; 3453[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];3454 -> 2890[label="",style="dashed", color="red", weight=0]; 3454[label="vyv266 `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];3454 -> 3492[label="",style="dashed", color="magenta", weight=3]; 3455 -> 30[label="",style="dashed", color="red", weight=0]; 3455[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];3456 -> 2891[label="",style="dashed", color="red", weight=0]; 3456[label="vyv266 `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];3456 -> 3493[label="",style="dashed", color="magenta", weight=3]; 5151 -> 2821[label="",style="dashed", color="red", weight=0]; 5151[label="primMulFloat (vyv264 * vyv264) vyv265",fontsize=16,color="magenta"];5151 -> 5229[label="",style="dashed", color="magenta", weight=3]; 5151 -> 5230[label="",style="dashed", color="magenta", weight=3]; 5152 -> 2844[label="",style="dashed", color="red", weight=0]; 5152[label="primMulDouble (vyv264 * vyv264) vyv265",fontsize=16,color="magenta"];5152 -> 5231[label="",style="dashed", color="magenta", weight=3]; 5152 -> 5232[label="",style="dashed", color="magenta", weight=3]; 5153 -> 2860[label="",style="dashed", color="red", weight=0]; 5153[label="primMulInt (vyv264 * vyv264) vyv265",fontsize=16,color="magenta"];5153 -> 5233[label="",style="dashed", color="magenta", weight=3]; 5153 -> 5234[label="",style="dashed", color="magenta", weight=3]; 5154[label="Integer vyv2640 * Integer vyv2640 * vyv265",fontsize=16,color="black",shape="box"];5154 -> 5235[label="",style="solid", color="black", weight=3]; 5155[label="vyv2640 :% vyv2641 * (vyv2640 :% vyv2641) * vyv265",fontsize=16,color="black",shape="box"];5155 -> 5236[label="",style="solid", color="black", weight=3]; 6598[label="reduce2 (vyv3880 * vyv2430) (vyv3881 * vyv2431)",fontsize=16,color="black",shape="box"];6598 -> 6614[label="",style="solid", color="black", weight=3]; 5177 -> 2860[label="",style="dashed", color="red", weight=0]; 5177[label="primMulInt vyv281 vyv282",fontsize=16,color="magenta"];5177 -> 5262[label="",style="dashed", color="magenta", weight=3]; 5177 -> 5263[label="",style="dashed", color="magenta", weight=3]; 5178 -> 2860[label="",style="dashed", color="red", weight=0]; 5178[label="primMulInt vyv283 vyv284",fontsize=16,color="magenta"];5178 -> 5264[label="",style="dashed", color="magenta", weight=3]; 5178 -> 5265[label="",style="dashed", color="magenta", weight=3]; 5179 -> 2860[label="",style="dashed", color="red", weight=0]; 5179[label="primMulInt vyv281 vyv282",fontsize=16,color="magenta"];5179 -> 5266[label="",style="dashed", color="magenta", weight=3]; 5179 -> 5267[label="",style="dashed", color="magenta", weight=3]; 3527[label="primQuotInt vyv293 (reduce2D vyv295 vyv294)",fontsize=16,color="burlywood",shape="box"];7545[label="vyv293/Pos vyv2930",fontsize=10,color="white",style="solid",shape="box"];3527 -> 7545[label="",style="solid", color="burlywood", weight=9]; 7545 -> 3552[label="",style="solid", color="burlywood", weight=3]; 7546[label="vyv293/Neg vyv2930",fontsize=10,color="white",style="solid",shape="box"];3527 -> 7546[label="",style="solid", color="burlywood", weight=9]; 7546 -> 3553[label="",style="solid", color="burlywood", weight=3]; 5180[label="Integer vyv2810 * vyv282",fontsize=16,color="burlywood",shape="box"];7547[label="vyv282/Integer vyv2820",fontsize=10,color="white",style="solid",shape="box"];5180 -> 7547[label="",style="solid", color="burlywood", weight=9]; 7547 -> 5268[label="",style="solid", color="burlywood", weight=3]; 5181[label="Integer vyv2830 * vyv284",fontsize=16,color="burlywood",shape="box"];7548[label="vyv284/Integer vyv2840",fontsize=10,color="white",style="solid",shape="box"];5181 -> 7548[label="",style="solid", color="burlywood", weight=9]; 7548 -> 5269[label="",style="solid", color="burlywood", weight=3]; 5182[label="Integer vyv2810 * vyv282",fontsize=16,color="burlywood",shape="box"];7549[label="vyv282/Integer vyv2820",fontsize=10,color="white",style="solid",shape="box"];5182 -> 7549[label="",style="solid", color="burlywood", weight=9]; 7549 -> 5270[label="",style="solid", color="burlywood", weight=3]; 3534[label="Integer vyv2960 `quot` reduce2D vyv298 vyv297",fontsize=16,color="black",shape="box"];3534 -> 3554[label="",style="solid", color="black", weight=3]; 5183 -> 2860[label="",style="dashed", color="red", weight=0]; 5183[label="primMulInt vyv283 vyv284",fontsize=16,color="magenta"];5183 -> 5271[label="",style="dashed", color="magenta", weight=3]; 5183 -> 5272[label="",style="dashed", color="magenta", weight=3]; 5184 -> 2860[label="",style="dashed", color="red", weight=0]; 5184[label="primMulInt vyv283 vyv284",fontsize=16,color="magenta"];5184 -> 5273[label="",style="dashed", color="magenta", weight=3]; 5184 -> 5274[label="",style="dashed", color="magenta", weight=3]; 5185 -> 2860[label="",style="dashed", color="red", weight=0]; 5185[label="primMulInt vyv281 vyv282",fontsize=16,color="magenta"];5185 -> 5275[label="",style="dashed", color="magenta", weight=3]; 5185 -> 5276[label="",style="dashed", color="magenta", weight=3]; 5186[label="Integer vyv2830 * vyv284",fontsize=16,color="burlywood",shape="box"];7550[label="vyv284/Integer vyv2840",fontsize=10,color="white",style="solid",shape="box"];5186 -> 7550[label="",style="solid", color="burlywood", weight=9]; 7550 -> 5277[label="",style="solid", color="burlywood", weight=3]; 5187[label="Integer vyv2830 * vyv284",fontsize=16,color="burlywood",shape="box"];7551[label="vyv284/Integer vyv2840",fontsize=10,color="white",style="solid",shape="box"];5187 -> 7551[label="",style="solid", color="burlywood", weight=9]; 7551 -> 5278[label="",style="solid", color="burlywood", weight=3]; 5188[label="Integer vyv2810 * vyv282",fontsize=16,color="burlywood",shape="box"];7552[label="vyv282/Integer vyv2820",fontsize=10,color="white",style="solid",shape="box"];5188 -> 7552[label="",style="solid", color="burlywood", weight=9]; 7552 -> 5279[label="",style="solid", color="burlywood", weight=3]; 499[label="pr2F0G1 (vyv12 * vyv12) vyv12 (Neg vyv25) (primEvenNat vyv25)",fontsize=16,color="burlywood",shape="box"];7553[label="vyv25/Succ vyv250",fontsize=10,color="white",style="solid",shape="box"];499 -> 7553[label="",style="solid", color="burlywood", weight=9]; 7553 -> 517[label="",style="solid", color="burlywood", weight=3]; 7554[label="vyv25/Zero",fontsize=10,color="white",style="solid",shape="box"];499 -> 7554[label="",style="solid", color="burlywood", weight=9]; 7554 -> 518[label="",style="solid", color="burlywood", weight=3]; 2866[label="vyv120",fontsize=16,color="green",shape="box"];2867[label="vyv120",fontsize=16,color="green",shape="box"];609 -> 1514[label="",style="dashed", color="red", weight=0]; 609[label="pr2F0G1 (vyv20 * vyv20) vyv20 (Pos (Succ (Succ vyv2700))) (primEvenNat vyv2700)",fontsize=16,color="magenta"];609 -> 1515[label="",style="dashed", color="magenta", weight=3]; 609 -> 1516[label="",style="dashed", color="magenta", weight=3]; 609 -> 1517[label="",style="dashed", color="magenta", weight=3]; 610 -> 883[label="",style="dashed", color="red", weight=0]; 610[label="pr2F0G1 (vyv20 * vyv20) vyv20 (Pos (Succ Zero)) False",fontsize=16,color="magenta"];610 -> 884[label="",style="dashed", color="magenta", weight=3]; 610 -> 885[label="",style="dashed", color="magenta", weight=3]; 611 -> 2645[label="",style="dashed", color="red", weight=0]; 611[label="pr2F0G (vyv20 * vyv20) (vyv20 * vyv20) (Pos Zero `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];611 -> 2661[label="",style="dashed", color="magenta", weight=3]; 611 -> 2662[label="",style="dashed", color="magenta", weight=3]; 611 -> 2663[label="",style="dashed", color="magenta", weight=3]; 4079 -> 3445[label="",style="dashed", color="red", weight=0]; 4079[label="primMinusNatS (Succ vyv293000) Zero",fontsize=16,color="magenta"];4079 -> 4091[label="",style="dashed", color="magenta", weight=3]; 4080[label="Zero",fontsize=16,color="green",shape="box"];4081 -> 3446[label="",style="dashed", color="red", weight=0]; 4081[label="primMinusNatS Zero Zero",fontsize=16,color="magenta"];4082[label="Zero",fontsize=16,color="green",shape="box"];6906 -> 3924[label="",style="dashed", color="red", weight=0]; 6906[label="primDivNatS (primMinusNatS (Succ vyv400) (Succ vyv401)) (Succ (Succ vyv401))",fontsize=16,color="magenta"];6906 -> 6965[label="",style="dashed", color="magenta", weight=3]; 6906 -> 6966[label="",style="dashed", color="magenta", weight=3]; 6972[label="vyv264",fontsize=16,color="green",shape="box"];6973[label="vyv264",fontsize=16,color="green",shape="box"];6974[label="vyv264",fontsize=16,color="green",shape="box"];6975[label="vyv264",fontsize=16,color="green",shape="box"];6976[label="vyv264",fontsize=16,color="green",shape="box"];6977 -> 29[label="",style="dashed", color="red", weight=0]; 6977[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];6978 -> 2890[label="",style="dashed", color="red", weight=0]; 6978[label="vyv266 `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];6978 -> 6991[label="",style="dashed", color="magenta", weight=3]; 6979 -> 30[label="",style="dashed", color="red", weight=0]; 6979[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];6980 -> 2891[label="",style="dashed", color="red", weight=0]; 6980[label="vyv266 `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];6980 -> 6992[label="",style="dashed", color="magenta", weight=3]; 6981[label="pr2F4 vyv414 (vyv416 - fromInt (Pos (Succ Zero))) (vyv414 * (vyv414 * vyv415))",fontsize=16,color="black",shape="box"];6981 -> 6993[label="",style="solid", color="black", weight=3]; 5224[label="vyv264",fontsize=16,color="green",shape="box"];5225[label="vyv264",fontsize=16,color="green",shape="box"];5226[label="vyv264",fontsize=16,color="green",shape="box"];5227[label="Integer (primMulInt vyv2640 vyv2640)",fontsize=16,color="green",shape="box"];5227 -> 5381[label="",style="dashed", color="green", weight=3]; 5228 -> 2800[label="",style="dashed", color="red", weight=0]; 5228[label="reduce (vyv2640 * vyv2640) (vyv2641 * vyv2641)",fontsize=16,color="magenta"];5228 -> 5382[label="",style="dashed", color="magenta", weight=3]; 5228 -> 5383[label="",style="dashed", color="magenta", weight=3]; 3492[label="vyv266",fontsize=16,color="green",shape="box"];3493[label="vyv266",fontsize=16,color="green",shape="box"];5229[label="vyv265",fontsize=16,color="green",shape="box"];5230[label="vyv264 * vyv264",fontsize=16,color="black",shape="box"];5230 -> 6216[label="",style="solid", color="black", weight=3]; 5231[label="vyv264 * vyv264",fontsize=16,color="black",shape="box"];5231 -> 6144[label="",style="solid", color="black", weight=3]; 5232[label="vyv265",fontsize=16,color="green",shape="box"];5233[label="vyv265",fontsize=16,color="green",shape="box"];5234[label="vyv264 * vyv264",fontsize=16,color="black",shape="box"];5234 -> 6199[label="",style="solid", color="black", weight=3]; 5235[label="Integer (primMulInt vyv2640 vyv2640) * vyv265",fontsize=16,color="burlywood",shape="box"];7555[label="vyv265/Integer vyv2650",fontsize=10,color="white",style="solid",shape="box"];5235 -> 7555[label="",style="solid", color="burlywood", weight=9]; 7555 -> 6250[label="",style="solid", color="burlywood", weight=3]; 5236[label="reduce (vyv2640 * vyv2640) (vyv2641 * vyv2641) * vyv265",fontsize=16,color="black",shape="box"];5236 -> 6242[label="",style="solid", color="black", weight=3]; 6614 -> 3298[label="",style="dashed", color="red", weight=0]; 6614[label="reduce2Reduce1 (vyv3880 * vyv2430) (vyv3881 * vyv2431) (vyv3880 * vyv2430) (vyv3881 * vyv2431) (vyv3881 * vyv2431 == fromInt (Pos Zero))",fontsize=16,color="magenta"];6614 -> 6678[label="",style="dashed", color="magenta", weight=3]; 6614 -> 6679[label="",style="dashed", color="magenta", weight=3]; 6614 -> 6680[label="",style="dashed", color="magenta", weight=3]; 6614 -> 6681[label="",style="dashed", color="magenta", weight=3]; 6614 -> 6682[label="",style="dashed", color="magenta", weight=3]; 5262[label="vyv282",fontsize=16,color="green",shape="box"];5263[label="vyv281",fontsize=16,color="green",shape="box"];5264[label="vyv284",fontsize=16,color="green",shape="box"];5265[label="vyv283",fontsize=16,color="green",shape="box"];5266[label="vyv282",fontsize=16,color="green",shape="box"];5267[label="vyv281",fontsize=16,color="green",shape="box"];3552[label="primQuotInt (Pos vyv2930) (reduce2D vyv295 vyv294)",fontsize=16,color="black",shape="box"];3552 -> 3561[label="",style="solid", color="black", weight=3]; 3553[label="primQuotInt (Neg vyv2930) (reduce2D vyv295 vyv294)",fontsize=16,color="black",shape="box"];3553 -> 3562[label="",style="solid", color="black", weight=3]; 5268[label="Integer vyv2810 * Integer vyv2820",fontsize=16,color="black",shape="box"];5268 -> 5380[label="",style="solid", color="black", weight=3]; 5269[label="Integer vyv2830 * Integer vyv2840",fontsize=16,color="black",shape="box"];5269 -> 5389[label="",style="solid", color="black", weight=3]; 5270[label="Integer vyv2810 * Integer vyv2820",fontsize=16,color="black",shape="box"];5270 -> 5390[label="",style="solid", color="black", weight=3]; 3554 -> 3813[label="",style="dashed", color="red", weight=0]; 3554[label="Integer vyv2960 `quot` gcd vyv298 vyv297",fontsize=16,color="magenta"];3554 -> 3816[label="",style="dashed", color="magenta", weight=3]; 5271[label="vyv284",fontsize=16,color="green",shape="box"];5272[label="vyv283",fontsize=16,color="green",shape="box"];5273[label="vyv284",fontsize=16,color="green",shape="box"];5274[label="vyv283",fontsize=16,color="green",shape="box"];5275[label="vyv282",fontsize=16,color="green",shape="box"];5276[label="vyv281",fontsize=16,color="green",shape="box"];5277[label="Integer vyv2830 * Integer vyv2840",fontsize=16,color="black",shape="box"];5277 -> 5391[label="",style="solid", color="black", weight=3]; 5278[label="Integer vyv2830 * Integer vyv2840",fontsize=16,color="black",shape="box"];5278 -> 5392[label="",style="solid", color="black", weight=3]; 5279[label="Integer vyv2810 * Integer vyv2820",fontsize=16,color="black",shape="box"];5279 -> 5393[label="",style="solid", color="black", weight=3]; 517[label="pr2F0G1 (vyv12 * vyv12) vyv12 (Neg (Succ vyv250)) (primEvenNat (Succ vyv250))",fontsize=16,color="burlywood",shape="box"];7556[label="vyv250/Succ vyv2500",fontsize=10,color="white",style="solid",shape="box"];517 -> 7556[label="",style="solid", color="burlywood", weight=9]; 7556 -> 614[label="",style="solid", color="burlywood", weight=3]; 7557[label="vyv250/Zero",fontsize=10,color="white",style="solid",shape="box"];517 -> 7557[label="",style="solid", color="burlywood", weight=9]; 7557 -> 615[label="",style="solid", color="burlywood", weight=3]; 518[label="pr2F0G1 (vyv12 * vyv12) vyv12 (Neg Zero) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];518 -> 616[label="",style="solid", color="black", weight=3]; 1515[label="vyv20",fontsize=16,color="green",shape="box"];1516[label="Succ vyv2700",fontsize=16,color="green",shape="box"];1517[label="vyv2700",fontsize=16,color="green",shape="box"];1514[label="pr2F0G1 (vyv121 * vyv121) vyv121 (Pos (Succ vyv122)) (primEvenNat vyv123)",fontsize=16,color="burlywood",shape="triangle"];7558[label="vyv123/Succ vyv1230",fontsize=10,color="white",style="solid",shape="box"];1514 -> 7558[label="",style="solid", color="burlywood", weight=9]; 7558 -> 1530[label="",style="solid", color="burlywood", weight=3]; 7559[label="vyv123/Zero",fontsize=10,color="white",style="solid",shape="box"];1514 -> 7559[label="",style="solid", color="burlywood", weight=9]; 7559 -> 1531[label="",style="solid", color="burlywood", weight=3]; 884[label="Zero",fontsize=16,color="green",shape="box"];885[label="vyv20",fontsize=16,color="green",shape="box"];883[label="pr2F0G1 (vyv63 * vyv63) vyv63 (Pos (Succ vyv64)) False",fontsize=16,color="black",shape="triangle"];883 -> 894[label="",style="solid", color="black", weight=3]; 2661[label="vyv20",fontsize=16,color="green",shape="box"];2662[label="Pos Zero",fontsize=16,color="green",shape="box"];2663[label="vyv20 * vyv20",fontsize=16,color="blue",shape="box"];7560[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];2663 -> 7560[label="",style="solid", color="blue", weight=9]; 7560 -> 2753[label="",style="solid", color="blue", weight=3]; 7561[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];2663 -> 7561[label="",style="solid", color="blue", weight=9]; 7561 -> 2754[label="",style="solid", color="blue", weight=3]; 7562[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];2663 -> 7562[label="",style="solid", color="blue", weight=9]; 7562 -> 2755[label="",style="solid", color="blue", weight=3]; 7563[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];2663 -> 7563[label="",style="solid", color="blue", weight=9]; 7563 -> 2756[label="",style="solid", color="blue", weight=3]; 7564[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];2663 -> 7564[label="",style="solid", color="blue", weight=9]; 7564 -> 2757[label="",style="solid", color="blue", weight=3]; 4091[label="vyv293000",fontsize=16,color="green",shape="box"];3445[label="primMinusNatS (Succ vyv2220000) Zero",fontsize=16,color="black",shape="triangle"];3445 -> 3489[label="",style="solid", color="black", weight=3]; 3446[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="triangle"];3446 -> 3490[label="",style="solid", color="black", weight=3]; 6965[label="primMinusNatS (Succ vyv400) (Succ vyv401)",fontsize=16,color="black",shape="box"];6965 -> 6982[label="",style="solid", color="black", weight=3]; 6966[label="Succ vyv401",fontsize=16,color="green",shape="box"];6991[label="vyv266",fontsize=16,color="green",shape="box"];6992[label="vyv266",fontsize=16,color="green",shape="box"];6993 -> 7004[label="",style="dashed", color="red", weight=0]; 6993[label="pr2F3 (vyv416 - fromInt (Pos (Succ Zero)) == fromInt (Pos Zero)) vyv414 (vyv416 - fromInt (Pos (Succ Zero))) (vyv414 * (vyv414 * vyv415))",fontsize=16,color="magenta"];6993 -> 7005[label="",style="dashed", color="magenta", weight=3]; 6993 -> 7006[label="",style="dashed", color="magenta", weight=3]; 6993 -> 7007[label="",style="dashed", color="magenta", weight=3]; 6993 -> 7008[label="",style="dashed", color="magenta", weight=3]; 5381 -> 2745[label="",style="dashed", color="red", weight=0]; 5381[label="primMulInt vyv2640 vyv2640",fontsize=16,color="magenta"];5381 -> 5562[label="",style="dashed", color="magenta", weight=3]; 5382[label="vyv2641",fontsize=16,color="green",shape="box"];5383[label="vyv2640",fontsize=16,color="green",shape="box"];6216 -> 2743[label="",style="dashed", color="red", weight=0]; 6216[label="primMulFloat vyv264 vyv264",fontsize=16,color="magenta"];6216 -> 6333[label="",style="dashed", color="magenta", weight=3]; 6144 -> 2744[label="",style="dashed", color="red", weight=0]; 6144[label="primMulDouble vyv264 vyv264",fontsize=16,color="magenta"];6144 -> 6334[label="",style="dashed", color="magenta", weight=3]; 6199 -> 2745[label="",style="dashed", color="red", weight=0]; 6199[label="primMulInt vyv264 vyv264",fontsize=16,color="magenta"];6199 -> 6335[label="",style="dashed", color="magenta", weight=3]; 6250[label="Integer (primMulInt vyv2640 vyv2640) * Integer vyv2650",fontsize=16,color="black",shape="box"];6250 -> 6336[label="",style="solid", color="black", weight=3]; 6242 -> 6289[label="",style="dashed", color="red", weight=0]; 6242[label="reduce2 (vyv2640 * vyv2640) (vyv2641 * vyv2641) * vyv265",fontsize=16,color="magenta"];6242 -> 6291[label="",style="dashed", color="magenta", weight=3]; 6242 -> 6292[label="",style="dashed", color="magenta", weight=3]; 6678[label="vyv3881",fontsize=16,color="green",shape="box"];6679[label="vyv2431",fontsize=16,color="green",shape="box"];6680[label="vyv2430",fontsize=16,color="green",shape="box"];6681[label="vyv3881 * vyv2431 == fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];7565[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];6681 -> 7565[label="",style="solid", color="blue", weight=9]; 7565 -> 6775[label="",style="solid", color="blue", weight=3]; 7566[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];6681 -> 7566[label="",style="solid", color="blue", weight=9]; 7566 -> 6776[label="",style="solid", color="blue", weight=3]; 6682[label="vyv3880",fontsize=16,color="green",shape="box"];3561 -> 3852[label="",style="dashed", color="red", weight=0]; 3561[label="primQuotInt (Pos vyv2930) (gcd vyv295 vyv294)",fontsize=16,color="magenta"];3561 -> 3855[label="",style="dashed", color="magenta", weight=3]; 3562[label="primQuotInt (Neg vyv2930) (gcd vyv295 vyv294)",fontsize=16,color="black",shape="box"];3562 -> 3588[label="",style="solid", color="black", weight=3]; 5380[label="Integer (primMulInt vyv2810 vyv2820)",fontsize=16,color="green",shape="box"];5380 -> 5561[label="",style="dashed", color="green", weight=3]; 5389[label="Integer (primMulInt vyv2830 vyv2840)",fontsize=16,color="green",shape="box"];5389 -> 5564[label="",style="dashed", color="green", weight=3]; 5390[label="Integer (primMulInt vyv2810 vyv2820)",fontsize=16,color="green",shape="box"];5390 -> 5565[label="",style="dashed", color="green", weight=3]; 3816[label="gcd vyv298 vyv297",fontsize=16,color="black",shape="box"];3816 -> 3830[label="",style="solid", color="black", weight=3]; 5391[label="Integer (primMulInt vyv2830 vyv2840)",fontsize=16,color="green",shape="box"];5391 -> 5566[label="",style="dashed", color="green", weight=3]; 5392[label="Integer (primMulInt vyv2830 vyv2840)",fontsize=16,color="green",shape="box"];5392 -> 5567[label="",style="dashed", color="green", weight=3]; 5393[label="Integer (primMulInt vyv2810 vyv2820)",fontsize=16,color="green",shape="box"];5393 -> 5568[label="",style="dashed", color="green", weight=3]; 614[label="pr2F0G1 (vyv12 * vyv12) vyv12 (Neg (Succ (Succ vyv2500))) (primEvenNat (Succ (Succ vyv2500)))",fontsize=16,color="black",shape="box"];614 -> 640[label="",style="solid", color="black", weight=3]; 615[label="pr2F0G1 (vyv12 * vyv12) vyv12 (Neg (Succ Zero)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];615 -> 641[label="",style="solid", color="black", weight=3]; 616[label="pr2F0G1 (vyv12 * vyv12) vyv12 (Neg Zero) True",fontsize=16,color="black",shape="box"];616 -> 642[label="",style="solid", color="black", weight=3]; 1530[label="pr2F0G1 (vyv121 * vyv121) vyv121 (Pos (Succ vyv122)) (primEvenNat (Succ vyv1230))",fontsize=16,color="burlywood",shape="box"];7567[label="vyv1230/Succ vyv12300",fontsize=10,color="white",style="solid",shape="box"];1530 -> 7567[label="",style="solid", color="burlywood", weight=9]; 7567 -> 1546[label="",style="solid", color="burlywood", weight=3]; 7568[label="vyv1230/Zero",fontsize=10,color="white",style="solid",shape="box"];1530 -> 7568[label="",style="solid", color="burlywood", weight=9]; 7568 -> 1547[label="",style="solid", color="burlywood", weight=3]; 1531[label="pr2F0G1 (vyv121 * vyv121) vyv121 (Pos (Succ vyv122)) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];1531 -> 1548[label="",style="solid", color="black", weight=3]; 894[label="pr2F0G0 (vyv63 * vyv63) vyv63 (Pos (Succ vyv64)) otherwise",fontsize=16,color="black",shape="box"];894 -> 902[label="",style="solid", color="black", weight=3]; 2753[label="vyv20 * vyv20",fontsize=16,color="black",shape="box"];2753 -> 5162[label="",style="solid", color="black", weight=3]; 2754[label="vyv20 * vyv20",fontsize=16,color="black",shape="box"];2754 -> 5163[label="",style="solid", color="black", weight=3]; 2755[label="vyv20 * vyv20",fontsize=16,color="black",shape="box"];2755 -> 5164[label="",style="solid", color="black", weight=3]; 2756[label="vyv20 * vyv20",fontsize=16,color="burlywood",shape="box"];7569[label="vyv20/Integer vyv200",fontsize=10,color="white",style="solid",shape="box"];2756 -> 7569[label="",style="solid", color="burlywood", weight=9]; 7569 -> 5165[label="",style="solid", color="burlywood", weight=3]; 2757[label="vyv20 * vyv20",fontsize=16,color="burlywood",shape="box"];7570[label="vyv20/vyv200 :% vyv201",fontsize=10,color="white",style="solid",shape="box"];2757 -> 7570[label="",style="solid", color="burlywood", weight=9]; 7570 -> 5166[label="",style="solid", color="burlywood", weight=3]; 3489[label="Succ vyv2220000",fontsize=16,color="green",shape="box"];3490[label="Zero",fontsize=16,color="green",shape="box"];6982[label="primMinusNatS vyv400 vyv401",fontsize=16,color="burlywood",shape="triangle"];7571[label="vyv400/Succ vyv4000",fontsize=10,color="white",style="solid",shape="box"];6982 -> 7571[label="",style="solid", color="burlywood", weight=9]; 7571 -> 6994[label="",style="solid", color="burlywood", weight=3]; 7572[label="vyv400/Zero",fontsize=10,color="white",style="solid",shape="box"];6982 -> 7572[label="",style="solid", color="burlywood", weight=9]; 7572 -> 6995[label="",style="solid", color="burlywood", weight=3]; 7005[label="vyv416 - fromInt (Pos (Succ Zero)) == fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];7573[label="== :: -> Int (-> Int Bool)",fontsize=10,color="white",style="solid",shape="box"];7005 -> 7573[label="",style="solid", color="blue", weight=9]; 7573 -> 7009[label="",style="solid", color="blue", weight=3]; 7574[label="== :: -> Integer (-> Integer Bool)",fontsize=10,color="white",style="solid",shape="box"];7005 -> 7574[label="",style="solid", color="blue", weight=9]; 7574 -> 7010[label="",style="solid", color="blue", weight=3]; 7006[label="vyv414",fontsize=16,color="green",shape="box"];7007[label="vyv416",fontsize=16,color="green",shape="box"];7008[label="vyv415",fontsize=16,color="green",shape="box"];7004[label="pr2F3 vyv422 vyv423 (vyv424 - fromInt (Pos (Succ Zero))) (vyv423 * (vyv423 * vyv425))",fontsize=16,color="burlywood",shape="triangle"];7575[label="vyv422/False",fontsize=10,color="white",style="solid",shape="box"];7004 -> 7575[label="",style="solid", color="burlywood", weight=9]; 7575 -> 7011[label="",style="solid", color="burlywood", weight=3]; 7576[label="vyv422/True",fontsize=10,color="white",style="solid",shape="box"];7004 -> 7576[label="",style="solid", color="burlywood", weight=9]; 7576 -> 7012[label="",style="solid", color="burlywood", weight=3]; 5562[label="vyv2640",fontsize=16,color="green",shape="box"];6333[label="vyv264",fontsize=16,color="green",shape="box"];6334[label="vyv264",fontsize=16,color="green",shape="box"];6335[label="vyv264",fontsize=16,color="green",shape="box"];6336[label="Integer (primMulInt (primMulInt vyv2640 vyv2640) vyv2650)",fontsize=16,color="green",shape="box"];6336 -> 6424[label="",style="dashed", color="green", weight=3]; 6291 -> 2840[label="",style="dashed", color="red", weight=0]; 6291[label="reduce2 (vyv2640 * vyv2640) (vyv2641 * vyv2641)",fontsize=16,color="magenta"];6291 -> 6337[label="",style="dashed", color="magenta", weight=3]; 6291 -> 6338[label="",style="dashed", color="magenta", weight=3]; 6292[label="vyv265",fontsize=16,color="green",shape="box"];6775 -> 554[label="",style="dashed", color="red", weight=0]; 6775[label="vyv3881 * vyv2431 == fromInt (Pos Zero)",fontsize=16,color="magenta"];6775 -> 6812[label="",style="dashed", color="magenta", weight=3]; 6776 -> 2947[label="",style="dashed", color="red", weight=0]; 6776[label="vyv3881 * vyv2431 == fromInt (Pos Zero)",fontsize=16,color="magenta"];6776 -> 6813[label="",style="dashed", color="magenta", weight=3]; 3855[label="gcd vyv295 vyv294",fontsize=16,color="black",shape="box"];3855 -> 3871[label="",style="solid", color="black", weight=3]; 3588[label="primQuotInt (Neg vyv2930) (gcd3 vyv295 vyv294)",fontsize=16,color="black",shape="box"];3588 -> 3622[label="",style="solid", color="black", weight=3]; 5561 -> 2860[label="",style="dashed", color="red", weight=0]; 5561[label="primMulInt vyv2810 vyv2820",fontsize=16,color="magenta"];5561 -> 5592[label="",style="dashed", color="magenta", weight=3]; 5561 -> 5593[label="",style="dashed", color="magenta", weight=3]; 5564 -> 2860[label="",style="dashed", color="red", weight=0]; 5564[label="primMulInt vyv2830 vyv2840",fontsize=16,color="magenta"];5564 -> 5595[label="",style="dashed", color="magenta", weight=3]; 5564 -> 5596[label="",style="dashed", color="magenta", weight=3]; 5565 -> 2860[label="",style="dashed", color="red", weight=0]; 5565[label="primMulInt vyv2810 vyv2820",fontsize=16,color="magenta"];5565 -> 5597[label="",style="dashed", color="magenta", weight=3]; 5565 -> 5598[label="",style="dashed", color="magenta", weight=3]; 3830[label="gcd3 vyv298 vyv297",fontsize=16,color="black",shape="box"];3830 -> 3851[label="",style="solid", color="black", weight=3]; 5566 -> 2860[label="",style="dashed", color="red", weight=0]; 5566[label="primMulInt vyv2830 vyv2840",fontsize=16,color="magenta"];5566 -> 5599[label="",style="dashed", color="magenta", weight=3]; 5566 -> 5600[label="",style="dashed", color="magenta", weight=3]; 5567 -> 2860[label="",style="dashed", color="red", weight=0]; 5567[label="primMulInt vyv2830 vyv2840",fontsize=16,color="magenta"];5567 -> 5601[label="",style="dashed", color="magenta", weight=3]; 5567 -> 5602[label="",style="dashed", color="magenta", weight=3]; 5568 -> 2860[label="",style="dashed", color="red", weight=0]; 5568[label="primMulInt vyv2810 vyv2820",fontsize=16,color="magenta"];5568 -> 5603[label="",style="dashed", color="magenta", weight=3]; 5568 -> 5604[label="",style="dashed", color="magenta", weight=3]; 640 -> 1465[label="",style="dashed", color="red", weight=0]; 640[label="pr2F0G1 (vyv12 * vyv12) vyv12 (Neg (Succ (Succ vyv2500))) (primEvenNat vyv2500)",fontsize=16,color="magenta"];640 -> 1466[label="",style="dashed", color="magenta", weight=3]; 640 -> 1467[label="",style="dashed", color="magenta", weight=3]; 640 -> 1468[label="",style="dashed", color="magenta", weight=3]; 641 -> 1157[label="",style="dashed", color="red", weight=0]; 641[label="pr2F0G1 (vyv12 * vyv12) vyv12 (Neg (Succ Zero)) False",fontsize=16,color="magenta"];641 -> 1158[label="",style="dashed", color="magenta", weight=3]; 641 -> 1159[label="",style="dashed", color="magenta", weight=3]; 642 -> 2645[label="",style="dashed", color="red", weight=0]; 642[label="pr2F0G (vyv12 * vyv12) (vyv12 * vyv12) (Neg Zero `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];642 -> 2667[label="",style="dashed", color="magenta", weight=3]; 642 -> 2668[label="",style="dashed", color="magenta", weight=3]; 642 -> 2669[label="",style="dashed", color="magenta", weight=3]; 1546[label="pr2F0G1 (vyv121 * vyv121) vyv121 (Pos (Succ vyv122)) (primEvenNat (Succ (Succ vyv12300)))",fontsize=16,color="black",shape="box"];1546 -> 1559[label="",style="solid", color="black", weight=3]; 1547[label="pr2F0G1 (vyv121 * vyv121) vyv121 (Pos (Succ vyv122)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];1547 -> 1560[label="",style="solid", color="black", weight=3]; 1548[label="pr2F0G1 (vyv121 * vyv121) vyv121 (Pos (Succ vyv122)) True",fontsize=16,color="black",shape="box"];1548 -> 1561[label="",style="solid", color="black", weight=3]; 902 -> 6926[label="",style="dashed", color="red", weight=0]; 902[label="pr2F0G0 (vyv63 * vyv63) vyv63 (Pos (Succ vyv64)) True",fontsize=16,color="magenta"];902 -> 6930[label="",style="dashed", color="magenta", weight=3]; 902 -> 6931[label="",style="dashed", color="magenta", weight=3]; 902 -> 6932[label="",style="dashed", color="magenta", weight=3]; 5162 -> 2743[label="",style="dashed", color="red", weight=0]; 5162[label="primMulFloat vyv20 vyv20",fontsize=16,color="magenta"];5163 -> 2744[label="",style="dashed", color="red", weight=0]; 5163[label="primMulDouble vyv20 vyv20",fontsize=16,color="magenta"];5164 -> 2745[label="",style="dashed", color="red", weight=0]; 5164[label="primMulInt vyv20 vyv20",fontsize=16,color="magenta"];5165[label="Integer vyv200 * Integer vyv200",fontsize=16,color="black",shape="box"];5165 -> 5247[label="",style="solid", color="black", weight=3]; 5166[label="vyv200 :% vyv201 * (vyv200 :% vyv201)",fontsize=16,color="black",shape="box"];5166 -> 5248[label="",style="solid", color="black", weight=3]; 6994[label="primMinusNatS (Succ vyv4000) vyv401",fontsize=16,color="burlywood",shape="box"];7577[label="vyv401/Succ vyv4010",fontsize=10,color="white",style="solid",shape="box"];6994 -> 7577[label="",style="solid", color="burlywood", weight=9]; 7577 -> 7013[label="",style="solid", color="burlywood", weight=3]; 7578[label="vyv401/Zero",fontsize=10,color="white",style="solid",shape="box"];6994 -> 7578[label="",style="solid", color="burlywood", weight=9]; 7578 -> 7014[label="",style="solid", color="burlywood", weight=3]; 6995[label="primMinusNatS Zero vyv401",fontsize=16,color="burlywood",shape="box"];7579[label="vyv401/Succ vyv4010",fontsize=10,color="white",style="solid",shape="box"];6995 -> 7579[label="",style="solid", color="burlywood", weight=9]; 7579 -> 7015[label="",style="solid", color="burlywood", weight=3]; 7580[label="vyv401/Zero",fontsize=10,color="white",style="solid",shape="box"];6995 -> 7580[label="",style="solid", color="burlywood", weight=9]; 7580 -> 7016[label="",style="solid", color="burlywood", weight=3]; 7009 -> 554[label="",style="dashed", color="red", weight=0]; 7009[label="vyv416 - fromInt (Pos (Succ Zero)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];7009 -> 7022[label="",style="dashed", color="magenta", weight=3]; 7010 -> 2947[label="",style="dashed", color="red", weight=0]; 7010[label="vyv416 - fromInt (Pos (Succ Zero)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];7010 -> 7023[label="",style="dashed", color="magenta", weight=3]; 7011[label="pr2F3 False vyv423 (vyv424 - fromInt (Pos (Succ Zero))) (vyv423 * (vyv423 * vyv425))",fontsize=16,color="black",shape="box"];7011 -> 7024[label="",style="solid", color="black", weight=3]; 7012[label="pr2F3 True vyv423 (vyv424 - fromInt (Pos (Succ Zero))) (vyv423 * (vyv423 * vyv425))",fontsize=16,color="black",shape="box"];7012 -> 7025[label="",style="solid", color="black", weight=3]; 6424 -> 2860[label="",style="dashed", color="red", weight=0]; 6424[label="primMulInt (primMulInt vyv2640 vyv2640) vyv2650",fontsize=16,color="magenta"];6424 -> 6586[label="",style="dashed", color="magenta", weight=3]; 6424 -> 6587[label="",style="dashed", color="magenta", weight=3]; 6337[label="vyv2641",fontsize=16,color="green",shape="box"];6338[label="vyv2640",fontsize=16,color="green",shape="box"];6812 -> 2897[label="",style="dashed", color="red", weight=0]; 6812[label="vyv3881 * vyv2431",fontsize=16,color="magenta"];6812 -> 6864[label="",style="dashed", color="magenta", weight=3]; 6812 -> 6865[label="",style="dashed", color="magenta", weight=3]; 6813 -> 3515[label="",style="dashed", color="red", weight=0]; 6813[label="vyv3881 * vyv2431",fontsize=16,color="magenta"];6813 -> 6866[label="",style="dashed", color="magenta", weight=3]; 6813 -> 6867[label="",style="dashed", color="magenta", weight=3]; 3871[label="gcd3 vyv295 vyv294",fontsize=16,color="black",shape="box"];3871 -> 3880[label="",style="solid", color="black", weight=3]; 3622 -> 3642[label="",style="dashed", color="red", weight=0]; 3622[label="primQuotInt (Neg vyv2930) (gcd2 (vyv295 == fromInt (Pos Zero)) vyv295 vyv294)",fontsize=16,color="magenta"];3622 -> 3643[label="",style="dashed", color="magenta", weight=3]; 5592[label="vyv2820",fontsize=16,color="green",shape="box"];5593[label="vyv2810",fontsize=16,color="green",shape="box"];5595[label="vyv2840",fontsize=16,color="green",shape="box"];5596[label="vyv2830",fontsize=16,color="green",shape="box"];5597[label="vyv2820",fontsize=16,color="green",shape="box"];5598[label="vyv2810",fontsize=16,color="green",shape="box"];3851 -> 3872[label="",style="dashed", color="red", weight=0]; 3851[label="gcd2 (vyv298 == fromInt (Pos Zero)) vyv298 vyv297",fontsize=16,color="magenta"];3851 -> 3873[label="",style="dashed", color="magenta", weight=3]; 5599[label="vyv2840",fontsize=16,color="green",shape="box"];5600[label="vyv2830",fontsize=16,color="green",shape="box"];5601[label="vyv2840",fontsize=16,color="green",shape="box"];5602[label="vyv2830",fontsize=16,color="green",shape="box"];5603[label="vyv2820",fontsize=16,color="green",shape="box"];5604[label="vyv2810",fontsize=16,color="green",shape="box"];1466[label="vyv12",fontsize=16,color="green",shape="box"];1467[label="vyv2500",fontsize=16,color="green",shape="box"];1468[label="Succ vyv2500",fontsize=16,color="green",shape="box"];1465[label="pr2F0G1 (vyv114 * vyv114) vyv114 (Neg (Succ vyv115)) (primEvenNat vyv116)",fontsize=16,color="burlywood",shape="triangle"];7581[label="vyv116/Succ vyv1160",fontsize=10,color="white",style="solid",shape="box"];1465 -> 7581[label="",style="solid", color="burlywood", weight=9]; 7581 -> 1478[label="",style="solid", color="burlywood", weight=3]; 7582[label="vyv116/Zero",fontsize=10,color="white",style="solid",shape="box"];1465 -> 7582[label="",style="solid", color="burlywood", weight=9]; 7582 -> 1479[label="",style="solid", color="burlywood", weight=3]; 1158[label="vyv12",fontsize=16,color="green",shape="box"];1159[label="Zero",fontsize=16,color="green",shape="box"];1157[label="pr2F0G1 (vyv81 * vyv81) vyv81 (Neg (Succ vyv82)) False",fontsize=16,color="black",shape="triangle"];1157 -> 1169[label="",style="solid", color="black", weight=3]; 2667[label="vyv12",fontsize=16,color="green",shape="box"];2668[label="Neg Zero",fontsize=16,color="green",shape="box"];2669[label="vyv12 * vyv12",fontsize=16,color="blue",shape="box"];7583[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];2669 -> 7583[label="",style="solid", color="blue", weight=9]; 7583 -> 2758[label="",style="solid", color="blue", weight=3]; 7584[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];2669 -> 7584[label="",style="solid", color="blue", weight=9]; 7584 -> 2759[label="",style="solid", color="blue", weight=3]; 7585[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];2669 -> 7585[label="",style="solid", color="blue", weight=9]; 7585 -> 2760[label="",style="solid", color="blue", weight=3]; 7586[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];2669 -> 7586[label="",style="solid", color="blue", weight=9]; 7586 -> 2761[label="",style="solid", color="blue", weight=3]; 7587[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];2669 -> 7587[label="",style="solid", color="blue", weight=9]; 7587 -> 2762[label="",style="solid", color="blue", weight=3]; 1559 -> 1514[label="",style="dashed", color="red", weight=0]; 1559[label="pr2F0G1 (vyv121 * vyv121) vyv121 (Pos (Succ vyv122)) (primEvenNat vyv12300)",fontsize=16,color="magenta"];1559 -> 1598[label="",style="dashed", color="magenta", weight=3]; 1560 -> 883[label="",style="dashed", color="red", weight=0]; 1560[label="pr2F0G1 (vyv121 * vyv121) vyv121 (Pos (Succ vyv122)) False",fontsize=16,color="magenta"];1560 -> 1599[label="",style="dashed", color="magenta", weight=3]; 1560 -> 1600[label="",style="dashed", color="magenta", weight=3]; 1561 -> 2645[label="",style="dashed", color="red", weight=0]; 1561[label="pr2F0G (vyv121 * vyv121) (vyv121 * vyv121) (Pos (Succ vyv122) `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];1561 -> 2673[label="",style="dashed", color="magenta", weight=3]; 1561 -> 2674[label="",style="dashed", color="magenta", weight=3]; 1561 -> 2675[label="",style="dashed", color="magenta", weight=3]; 6930[label="vyv63",fontsize=16,color="green",shape="box"];6931[label="vyv63",fontsize=16,color="green",shape="box"];6932[label="Pos (Succ vyv64)",fontsize=16,color="green",shape="box"];5247[label="Integer (primMulInt vyv200 vyv200)",fontsize=16,color="green",shape="box"];5247 -> 5396[label="",style="dashed", color="green", weight=3]; 5248 -> 2800[label="",style="dashed", color="red", weight=0]; 5248[label="reduce (vyv200 * vyv200) (vyv201 * vyv201)",fontsize=16,color="magenta"];7013[label="primMinusNatS (Succ vyv4000) (Succ vyv4010)",fontsize=16,color="black",shape="box"];7013 -> 7026[label="",style="solid", color="black", weight=3]; 7014[label="primMinusNatS (Succ vyv4000) Zero",fontsize=16,color="black",shape="box"];7014 -> 7027[label="",style="solid", color="black", weight=3]; 7015[label="primMinusNatS Zero (Succ vyv4010)",fontsize=16,color="black",shape="box"];7015 -> 7028[label="",style="solid", color="black", weight=3]; 7016[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="box"];7016 -> 7029[label="",style="solid", color="black", weight=3]; 7022 -> 3039[label="",style="dashed", color="red", weight=0]; 7022[label="vyv416 - fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7022 -> 7038[label="",style="dashed", color="magenta", weight=3]; 7022 -> 7039[label="",style="dashed", color="magenta", weight=3]; 7023 -> 3054[label="",style="dashed", color="red", weight=0]; 7023[label="vyv416 - fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7023 -> 7040[label="",style="dashed", color="magenta", weight=3]; 7023 -> 7041[label="",style="dashed", color="magenta", weight=3]; 7024[label="pr2F0 vyv423 (vyv424 - fromInt (Pos (Succ Zero))) (vyv423 * (vyv423 * vyv425))",fontsize=16,color="black",shape="box"];7024 -> 7042[label="",style="solid", color="black", weight=3]; 7025[label="vyv423 * (vyv423 * vyv425)",fontsize=16,color="blue",shape="box"];7588[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];7025 -> 7588[label="",style="solid", color="blue", weight=9]; 7588 -> 7043[label="",style="solid", color="blue", weight=3]; 7589[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];7025 -> 7589[label="",style="solid", color="blue", weight=9]; 7589 -> 7044[label="",style="solid", color="blue", weight=3]; 7590[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];7025 -> 7590[label="",style="solid", color="blue", weight=9]; 7590 -> 7045[label="",style="solid", color="blue", weight=3]; 7591[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];7025 -> 7591[label="",style="solid", color="blue", weight=9]; 7591 -> 7046[label="",style="solid", color="blue", weight=3]; 7592[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];7025 -> 7592[label="",style="solid", color="blue", weight=9]; 7592 -> 7047[label="",style="solid", color="blue", weight=3]; 6586[label="vyv2650",fontsize=16,color="green",shape="box"];6587 -> 2745[label="",style="dashed", color="red", weight=0]; 6587[label="primMulInt vyv2640 vyv2640",fontsize=16,color="magenta"];6587 -> 6601[label="",style="dashed", color="magenta", weight=3]; 6864[label="vyv2431",fontsize=16,color="green",shape="box"];6865[label="vyv3881",fontsize=16,color="green",shape="box"];6866[label="vyv2431",fontsize=16,color="green",shape="box"];6867[label="vyv3881",fontsize=16,color="green",shape="box"];3880 -> 3922[label="",style="dashed", color="red", weight=0]; 3880[label="gcd2 (vyv295 == fromInt (Pos Zero)) vyv295 vyv294",fontsize=16,color="magenta"];3880 -> 3923[label="",style="dashed", color="magenta", weight=3]; 3643 -> 554[label="",style="dashed", color="red", weight=0]; 3643[label="vyv295 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3643 -> 3668[label="",style="dashed", color="magenta", weight=3]; 3642[label="primQuotInt (Neg vyv2930) (gcd2 vyv311 vyv295 vyv294)",fontsize=16,color="burlywood",shape="triangle"];7593[label="vyv311/False",fontsize=10,color="white",style="solid",shape="box"];3642 -> 7593[label="",style="solid", color="burlywood", weight=9]; 7593 -> 3669[label="",style="solid", color="burlywood", weight=3]; 7594[label="vyv311/True",fontsize=10,color="white",style="solid",shape="box"];3642 -> 7594[label="",style="solid", color="burlywood", weight=9]; 7594 -> 3670[label="",style="solid", color="burlywood", weight=3]; 3873 -> 2947[label="",style="dashed", color="red", weight=0]; 3873[label="vyv298 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3873 -> 3881[label="",style="dashed", color="magenta", weight=3]; 3872[label="gcd2 vyv328 vyv298 vyv297",fontsize=16,color="burlywood",shape="triangle"];7595[label="vyv328/False",fontsize=10,color="white",style="solid",shape="box"];3872 -> 7595[label="",style="solid", color="burlywood", weight=9]; 7595 -> 3882[label="",style="solid", color="burlywood", weight=3]; 7596[label="vyv328/True",fontsize=10,color="white",style="solid",shape="box"];3872 -> 7596[label="",style="solid", color="burlywood", weight=9]; 7596 -> 3883[label="",style="solid", color="burlywood", weight=3]; 1478[label="pr2F0G1 (vyv114 * vyv114) vyv114 (Neg (Succ vyv115)) (primEvenNat (Succ vyv1160))",fontsize=16,color="burlywood",shape="box"];7597[label="vyv1160/Succ vyv11600",fontsize=10,color="white",style="solid",shape="box"];1478 -> 7597[label="",style="solid", color="burlywood", weight=9]; 7597 -> 1499[label="",style="solid", color="burlywood", weight=3]; 7598[label="vyv1160/Zero",fontsize=10,color="white",style="solid",shape="box"];1478 -> 7598[label="",style="solid", color="burlywood", weight=9]; 7598 -> 1500[label="",style="solid", color="burlywood", weight=3]; 1479[label="pr2F0G1 (vyv114 * vyv114) vyv114 (Neg (Succ vyv115)) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];1479 -> 1501[label="",style="solid", color="black", weight=3]; 1169[label="pr2F0G0 (vyv81 * vyv81) vyv81 (Neg (Succ vyv82)) otherwise",fontsize=16,color="black",shape="box"];1169 -> 1197[label="",style="solid", color="black", weight=3]; 2758[label="vyv12 * vyv12",fontsize=16,color="black",shape="box"];2758 -> 5172[label="",style="solid", color="black", weight=3]; 2759[label="vyv12 * vyv12",fontsize=16,color="black",shape="box"];2759 -> 5173[label="",style="solid", color="black", weight=3]; 2760[label="vyv12 * vyv12",fontsize=16,color="black",shape="box"];2760 -> 5174[label="",style="solid", color="black", weight=3]; 2761[label="vyv12 * vyv12",fontsize=16,color="burlywood",shape="box"];7599[label="vyv12/Integer vyv120",fontsize=10,color="white",style="solid",shape="box"];2761 -> 7599[label="",style="solid", color="burlywood", weight=9]; 7599 -> 5175[label="",style="solid", color="burlywood", weight=3]; 2762[label="vyv12 * vyv12",fontsize=16,color="burlywood",shape="box"];7600[label="vyv12/vyv120 :% vyv121",fontsize=10,color="white",style="solid",shape="box"];2762 -> 7600[label="",style="solid", color="burlywood", weight=9]; 7600 -> 5176[label="",style="solid", color="burlywood", weight=3]; 1598[label="vyv12300",fontsize=16,color="green",shape="box"];1599[label="vyv122",fontsize=16,color="green",shape="box"];1600[label="vyv121",fontsize=16,color="green",shape="box"];2673[label="vyv121",fontsize=16,color="green",shape="box"];2674[label="Pos (Succ vyv122)",fontsize=16,color="green",shape="box"];2675[label="vyv121 * vyv121",fontsize=16,color="blue",shape="box"];7601[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];2675 -> 7601[label="",style="solid", color="blue", weight=9]; 7601 -> 2763[label="",style="solid", color="blue", weight=3]; 7602[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];2675 -> 7602[label="",style="solid", color="blue", weight=9]; 7602 -> 2764[label="",style="solid", color="blue", weight=3]; 7603[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];2675 -> 7603[label="",style="solid", color="blue", weight=9]; 7603 -> 2765[label="",style="solid", color="blue", weight=3]; 7604[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];2675 -> 7604[label="",style="solid", color="blue", weight=9]; 7604 -> 2766[label="",style="solid", color="blue", weight=3]; 7605[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];2675 -> 7605[label="",style="solid", color="blue", weight=9]; 7605 -> 2767[label="",style="solid", color="blue", weight=3]; 5396 -> 2745[label="",style="dashed", color="red", weight=0]; 5396[label="primMulInt vyv200 vyv200",fontsize=16,color="magenta"];5396 -> 5569[label="",style="dashed", color="magenta", weight=3]; 7026 -> 6982[label="",style="dashed", color="red", weight=0]; 7026[label="primMinusNatS vyv4000 vyv4010",fontsize=16,color="magenta"];7026 -> 7048[label="",style="dashed", color="magenta", weight=3]; 7026 -> 7049[label="",style="dashed", color="magenta", weight=3]; 7027[label="Succ vyv4000",fontsize=16,color="green",shape="box"];7028[label="Zero",fontsize=16,color="green",shape="box"];7029[label="Zero",fontsize=16,color="green",shape="box"];7038 -> 29[label="",style="dashed", color="red", weight=0]; 7038[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7039[label="vyv416",fontsize=16,color="green",shape="box"];7040 -> 30[label="",style="dashed", color="red", weight=0]; 7040[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7041[label="vyv416",fontsize=16,color="green",shape="box"];7042[label="pr2F0G (vyv423 * (vyv423 * vyv425)) vyv423 (vyv424 - fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];7042 -> 7058[label="",style="solid", color="black", weight=3]; 7043[label="vyv423 * (vyv423 * vyv425)",fontsize=16,color="black",shape="box"];7043 -> 7059[label="",style="solid", color="black", weight=3]; 7044[label="vyv423 * (vyv423 * vyv425)",fontsize=16,color="black",shape="box"];7044 -> 7060[label="",style="solid", color="black", weight=3]; 7045 -> 2897[label="",style="dashed", color="red", weight=0]; 7045[label="vyv423 * (vyv423 * vyv425)",fontsize=16,color="magenta"];7045 -> 7061[label="",style="dashed", color="magenta", weight=3]; 7045 -> 7062[label="",style="dashed", color="magenta", weight=3]; 7046 -> 3515[label="",style="dashed", color="red", weight=0]; 7046[label="vyv423 * (vyv423 * vyv425)",fontsize=16,color="magenta"];7046 -> 7063[label="",style="dashed", color="magenta", weight=3]; 7046 -> 7064[label="",style="dashed", color="magenta", weight=3]; 7047 -> 6289[label="",style="dashed", color="red", weight=0]; 7047[label="vyv423 * (vyv423 * vyv425)",fontsize=16,color="magenta"];7047 -> 7065[label="",style="dashed", color="magenta", weight=3]; 7047 -> 7066[label="",style="dashed", color="magenta", weight=3]; 6601[label="vyv2640",fontsize=16,color="green",shape="box"];3923 -> 554[label="",style="dashed", color="red", weight=0]; 3923[label="vyv295 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3923 -> 3934[label="",style="dashed", color="magenta", weight=3]; 3922[label="gcd2 vyv330 vyv295 vyv294",fontsize=16,color="burlywood",shape="triangle"];7606[label="vyv330/False",fontsize=10,color="white",style="solid",shape="box"];3922 -> 7606[label="",style="solid", color="burlywood", weight=9]; 7606 -> 3935[label="",style="solid", color="burlywood", weight=3]; 7607[label="vyv330/True",fontsize=10,color="white",style="solid",shape="box"];3922 -> 7607[label="",style="solid", color="burlywood", weight=9]; 7607 -> 3936[label="",style="solid", color="burlywood", weight=3]; 3668[label="vyv295",fontsize=16,color="green",shape="box"];3669[label="primQuotInt (Neg vyv2930) (gcd2 False vyv295 vyv294)",fontsize=16,color="black",shape="box"];3669 -> 3711[label="",style="solid", color="black", weight=3]; 3670[label="primQuotInt (Neg vyv2930) (gcd2 True vyv295 vyv294)",fontsize=16,color="black",shape="box"];3670 -> 3712[label="",style="solid", color="black", weight=3]; 3881[label="vyv298",fontsize=16,color="green",shape="box"];3882[label="gcd2 False vyv298 vyv297",fontsize=16,color="black",shape="box"];3882 -> 3937[label="",style="solid", color="black", weight=3]; 3883[label="gcd2 True vyv298 vyv297",fontsize=16,color="black",shape="box"];3883 -> 3938[label="",style="solid", color="black", weight=3]; 1499[label="pr2F0G1 (vyv114 * vyv114) vyv114 (Neg (Succ vyv115)) (primEvenNat (Succ (Succ vyv11600)))",fontsize=16,color="black",shape="box"];1499 -> 1509[label="",style="solid", color="black", weight=3]; 1500[label="pr2F0G1 (vyv114 * vyv114) vyv114 (Neg (Succ vyv115)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];1500 -> 1510[label="",style="solid", color="black", weight=3]; 1501[label="pr2F0G1 (vyv114 * vyv114) vyv114 (Neg (Succ vyv115)) True",fontsize=16,color="black",shape="box"];1501 -> 1511[label="",style="solid", color="black", weight=3]; 1197 -> 6926[label="",style="dashed", color="red", weight=0]; 1197[label="pr2F0G0 (vyv81 * vyv81) vyv81 (Neg (Succ vyv82)) True",fontsize=16,color="magenta"];1197 -> 6933[label="",style="dashed", color="magenta", weight=3]; 1197 -> 6934[label="",style="dashed", color="magenta", weight=3]; 1197 -> 6935[label="",style="dashed", color="magenta", weight=3]; 5172 -> 2743[label="",style="dashed", color="red", weight=0]; 5172[label="primMulFloat vyv12 vyv12",fontsize=16,color="magenta"];5172 -> 5257[label="",style="dashed", color="magenta", weight=3]; 5173 -> 2744[label="",style="dashed", color="red", weight=0]; 5173[label="primMulDouble vyv12 vyv12",fontsize=16,color="magenta"];5173 -> 5258[label="",style="dashed", color="magenta", weight=3]; 5174 -> 2745[label="",style="dashed", color="red", weight=0]; 5174[label="primMulInt vyv12 vyv12",fontsize=16,color="magenta"];5174 -> 5259[label="",style="dashed", color="magenta", weight=3]; 5175[label="Integer vyv120 * Integer vyv120",fontsize=16,color="black",shape="box"];5175 -> 5260[label="",style="solid", color="black", weight=3]; 5176[label="vyv120 :% vyv121 * (vyv120 :% vyv121)",fontsize=16,color="black",shape="box"];5176 -> 5261[label="",style="solid", color="black", weight=3]; 2763[label="vyv121 * vyv121",fontsize=16,color="black",shape="box"];2763 -> 5189[label="",style="solid", color="black", weight=3]; 2764[label="vyv121 * vyv121",fontsize=16,color="black",shape="box"];2764 -> 5190[label="",style="solid", color="black", weight=3]; 2765[label="vyv121 * vyv121",fontsize=16,color="black",shape="box"];2765 -> 5191[label="",style="solid", color="black", weight=3]; 2766[label="vyv121 * vyv121",fontsize=16,color="burlywood",shape="box"];7608[label="vyv121/Integer vyv1210",fontsize=10,color="white",style="solid",shape="box"];2766 -> 7608[label="",style="solid", color="burlywood", weight=9]; 7608 -> 5192[label="",style="solid", color="burlywood", weight=3]; 2767[label="vyv121 * vyv121",fontsize=16,color="burlywood",shape="box"];7609[label="vyv121/vyv1210 :% vyv1211",fontsize=10,color="white",style="solid",shape="box"];2767 -> 7609[label="",style="solid", color="burlywood", weight=9]; 7609 -> 5193[label="",style="solid", color="burlywood", weight=3]; 5569[label="vyv200",fontsize=16,color="green",shape="box"];7048[label="vyv4010",fontsize=16,color="green",shape="box"];7049[label="vyv4000",fontsize=16,color="green",shape="box"];7058[label="pr2F0G2 (vyv423 * (vyv423 * vyv425)) vyv423 (vyv424 - fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];7058 -> 7072[label="",style="solid", color="black", weight=3]; 7059 -> 2821[label="",style="dashed", color="red", weight=0]; 7059[label="primMulFloat vyv423 (vyv423 * vyv425)",fontsize=16,color="magenta"];7059 -> 7073[label="",style="dashed", color="magenta", weight=3]; 7059 -> 7074[label="",style="dashed", color="magenta", weight=3]; 7060 -> 2844[label="",style="dashed", color="red", weight=0]; 7060[label="primMulDouble vyv423 (vyv423 * vyv425)",fontsize=16,color="magenta"];7060 -> 7075[label="",style="dashed", color="magenta", weight=3]; 7060 -> 7076[label="",style="dashed", color="magenta", weight=3]; 7061 -> 2897[label="",style="dashed", color="red", weight=0]; 7061[label="vyv423 * vyv425",fontsize=16,color="magenta"];7061 -> 7077[label="",style="dashed", color="magenta", weight=3]; 7061 -> 7078[label="",style="dashed", color="magenta", weight=3]; 7062[label="vyv423",fontsize=16,color="green",shape="box"];7063 -> 3515[label="",style="dashed", color="red", weight=0]; 7063[label="vyv423 * vyv425",fontsize=16,color="magenta"];7063 -> 7079[label="",style="dashed", color="magenta", weight=3]; 7063 -> 7080[label="",style="dashed", color="magenta", weight=3]; 7064[label="vyv423",fontsize=16,color="green",shape="box"];7065[label="vyv423",fontsize=16,color="green",shape="box"];7066 -> 6289[label="",style="dashed", color="red", weight=0]; 7066[label="vyv423 * vyv425",fontsize=16,color="magenta"];7066 -> 7081[label="",style="dashed", color="magenta", weight=3]; 7066 -> 7082[label="",style="dashed", color="magenta", weight=3]; 3934[label="vyv295",fontsize=16,color="green",shape="box"];3935[label="gcd2 False vyv295 vyv294",fontsize=16,color="black",shape="box"];3935 -> 3952[label="",style="solid", color="black", weight=3]; 3936[label="gcd2 True vyv295 vyv294",fontsize=16,color="black",shape="box"];3936 -> 3953[label="",style="solid", color="black", weight=3]; 3711[label="primQuotInt (Neg vyv2930) (gcd0 vyv295 vyv294)",fontsize=16,color="black",shape="box"];3711 -> 3723[label="",style="solid", color="black", weight=3]; 3712 -> 3724[label="",style="dashed", color="red", weight=0]; 3712[label="primQuotInt (Neg vyv2930) (gcd1 (vyv294 == fromInt (Pos Zero)) vyv295 vyv294)",fontsize=16,color="magenta"];3712 -> 3725[label="",style="dashed", color="magenta", weight=3]; 3937[label="gcd0 vyv298 vyv297",fontsize=16,color="black",shape="triangle"];3937 -> 3954[label="",style="solid", color="black", weight=3]; 3938 -> 3955[label="",style="dashed", color="red", weight=0]; 3938[label="gcd1 (vyv297 == fromInt (Pos Zero)) vyv298 vyv297",fontsize=16,color="magenta"];3938 -> 3956[label="",style="dashed", color="magenta", weight=3]; 1509 -> 1465[label="",style="dashed", color="red", weight=0]; 1509[label="pr2F0G1 (vyv114 * vyv114) vyv114 (Neg (Succ vyv115)) (primEvenNat vyv11600)",fontsize=16,color="magenta"];1509 -> 1535[label="",style="dashed", color="magenta", weight=3]; 1510 -> 1157[label="",style="dashed", color="red", weight=0]; 1510[label="pr2F0G1 (vyv114 * vyv114) vyv114 (Neg (Succ vyv115)) False",fontsize=16,color="magenta"];1510 -> 1536[label="",style="dashed", color="magenta", weight=3]; 1510 -> 1537[label="",style="dashed", color="magenta", weight=3]; 1511 -> 2645[label="",style="dashed", color="red", weight=0]; 1511[label="pr2F0G (vyv114 * vyv114) (vyv114 * vyv114) (Neg (Succ vyv115) `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];1511 -> 2679[label="",style="dashed", color="magenta", weight=3]; 1511 -> 2680[label="",style="dashed", color="magenta", weight=3]; 1511 -> 2681[label="",style="dashed", color="magenta", weight=3]; 6933[label="vyv81",fontsize=16,color="green",shape="box"];6934[label="vyv81",fontsize=16,color="green",shape="box"];6935[label="Neg (Succ vyv82)",fontsize=16,color="green",shape="box"];5257[label="vyv12",fontsize=16,color="green",shape="box"];5258[label="vyv12",fontsize=16,color="green",shape="box"];5259[label="vyv12",fontsize=16,color="green",shape="box"];5260[label="Integer (primMulInt vyv120 vyv120)",fontsize=16,color="green",shape="box"];5260 -> 5408[label="",style="dashed", color="green", weight=3]; 5261 -> 2800[label="",style="dashed", color="red", weight=0]; 5261[label="reduce (vyv120 * vyv120) (vyv121 * vyv121)",fontsize=16,color="magenta"];5261 -> 5409[label="",style="dashed", color="magenta", weight=3]; 5261 -> 5410[label="",style="dashed", color="magenta", weight=3]; 5189 -> 2743[label="",style="dashed", color="red", weight=0]; 5189[label="primMulFloat vyv121 vyv121",fontsize=16,color="magenta"];5189 -> 5280[label="",style="dashed", color="magenta", weight=3]; 5190 -> 2744[label="",style="dashed", color="red", weight=0]; 5190[label="primMulDouble vyv121 vyv121",fontsize=16,color="magenta"];5190 -> 5281[label="",style="dashed", color="magenta", weight=3]; 5191 -> 2745[label="",style="dashed", color="red", weight=0]; 5191[label="primMulInt vyv121 vyv121",fontsize=16,color="magenta"];5191 -> 5282[label="",style="dashed", color="magenta", weight=3]; 5192[label="Integer vyv1210 * Integer vyv1210",fontsize=16,color="black",shape="box"];5192 -> 5283[label="",style="solid", color="black", weight=3]; 5193[label="vyv1210 :% vyv1211 * (vyv1210 :% vyv1211)",fontsize=16,color="black",shape="box"];5193 -> 5284[label="",style="solid", color="black", weight=3]; 7072 -> 7091[label="",style="dashed", color="red", weight=0]; 7072[label="pr2F0G1 (vyv423 * (vyv423 * vyv425)) vyv423 (vyv424 - fromInt (Pos (Succ Zero))) (even (vyv424 - fromInt (Pos (Succ Zero))))",fontsize=16,color="magenta"];7072 -> 7092[label="",style="dashed", color="magenta", weight=3]; 7072 -> 7093[label="",style="dashed", color="magenta", weight=3]; 7072 -> 7094[label="",style="dashed", color="magenta", weight=3]; 7072 -> 7095[label="",style="dashed", color="magenta", weight=3]; 7073[label="vyv423 * vyv425",fontsize=16,color="black",shape="triangle"];7073 -> 7096[label="",style="solid", color="black", weight=3]; 7074[label="vyv423",fontsize=16,color="green",shape="box"];7075[label="vyv423",fontsize=16,color="green",shape="box"];7076[label="vyv423 * vyv425",fontsize=16,color="black",shape="triangle"];7076 -> 7097[label="",style="solid", color="black", weight=3]; 7077[label="vyv425",fontsize=16,color="green",shape="box"];7078[label="vyv423",fontsize=16,color="green",shape="box"];7079[label="vyv425",fontsize=16,color="green",shape="box"];7080[label="vyv423",fontsize=16,color="green",shape="box"];7081[label="vyv423",fontsize=16,color="green",shape="box"];7082[label="vyv425",fontsize=16,color="green",shape="box"];3952[label="gcd0 vyv295 vyv294",fontsize=16,color="black",shape="triangle"];3952 -> 3963[label="",style="solid", color="black", weight=3]; 3953 -> 3964[label="",style="dashed", color="red", weight=0]; 3953[label="gcd1 (vyv294 == fromInt (Pos Zero)) vyv295 vyv294",fontsize=16,color="magenta"];3953 -> 3965[label="",style="dashed", color="magenta", weight=3]; 3723[label="primQuotInt (Neg vyv2930) (gcd0Gcd' (abs vyv295) (abs vyv294))",fontsize=16,color="black",shape="box"];3723 -> 3738[label="",style="solid", color="black", weight=3]; 3725 -> 554[label="",style="dashed", color="red", weight=0]; 3725[label="vyv294 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3725 -> 3739[label="",style="dashed", color="magenta", weight=3]; 3724[label="primQuotInt (Neg vyv2930) (gcd1 vyv323 vyv295 vyv294)",fontsize=16,color="burlywood",shape="triangle"];7610[label="vyv323/False",fontsize=10,color="white",style="solid",shape="box"];3724 -> 7610[label="",style="solid", color="burlywood", weight=9]; 7610 -> 3740[label="",style="solid", color="burlywood", weight=3]; 7611[label="vyv323/True",fontsize=10,color="white",style="solid",shape="box"];3724 -> 7611[label="",style="solid", color="burlywood", weight=9]; 7611 -> 3741[label="",style="solid", color="burlywood", weight=3]; 3954[label="gcd0Gcd' (abs vyv298) (abs vyv297)",fontsize=16,color="black",shape="box"];3954 -> 3976[label="",style="solid", color="black", weight=3]; 3956 -> 2947[label="",style="dashed", color="red", weight=0]; 3956[label="vyv297 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3956 -> 3977[label="",style="dashed", color="magenta", weight=3]; 3955[label="gcd1 vyv332 vyv298 vyv297",fontsize=16,color="burlywood",shape="triangle"];7612[label="vyv332/False",fontsize=10,color="white",style="solid",shape="box"];3955 -> 7612[label="",style="solid", color="burlywood", weight=9]; 7612 -> 3978[label="",style="solid", color="burlywood", weight=3]; 7613[label="vyv332/True",fontsize=10,color="white",style="solid",shape="box"];3955 -> 7613[label="",style="solid", color="burlywood", weight=9]; 7613 -> 3979[label="",style="solid", color="burlywood", weight=3]; 1535[label="vyv11600",fontsize=16,color="green",shape="box"];1536[label="vyv114",fontsize=16,color="green",shape="box"];1537[label="vyv115",fontsize=16,color="green",shape="box"];2679[label="vyv114",fontsize=16,color="green",shape="box"];2680[label="Neg (Succ vyv115)",fontsize=16,color="green",shape="box"];2681[label="vyv114 * vyv114",fontsize=16,color="blue",shape="box"];7614[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];2681 -> 7614[label="",style="solid", color="blue", weight=9]; 7614 -> 2768[label="",style="solid", color="blue", weight=3]; 7615[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];2681 -> 7615[label="",style="solid", color="blue", weight=9]; 7615 -> 2769[label="",style="solid", color="blue", weight=3]; 7616[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];2681 -> 7616[label="",style="solid", color="blue", weight=9]; 7616 -> 2770[label="",style="solid", color="blue", weight=3]; 7617[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];2681 -> 7617[label="",style="solid", color="blue", weight=9]; 7617 -> 2771[label="",style="solid", color="blue", weight=3]; 7618[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];2681 -> 7618[label="",style="solid", color="blue", weight=9]; 7618 -> 2772[label="",style="solid", color="blue", weight=3]; 5408 -> 2745[label="",style="dashed", color="red", weight=0]; 5408[label="primMulInt vyv120 vyv120",fontsize=16,color="magenta"];5408 -> 5574[label="",style="dashed", color="magenta", weight=3]; 5409[label="vyv121",fontsize=16,color="green",shape="box"];5410[label="vyv120",fontsize=16,color="green",shape="box"];5280[label="vyv121",fontsize=16,color="green",shape="box"];5281[label="vyv121",fontsize=16,color="green",shape="box"];5282[label="vyv121",fontsize=16,color="green",shape="box"];5283[label="Integer (primMulInt vyv1210 vyv1210)",fontsize=16,color="green",shape="box"];5283 -> 5415[label="",style="dashed", color="green", weight=3]; 5284 -> 2800[label="",style="dashed", color="red", weight=0]; 5284[label="reduce (vyv1210 * vyv1210) (vyv1211 * vyv1211)",fontsize=16,color="magenta"];5284 -> 5416[label="",style="dashed", color="magenta", weight=3]; 5284 -> 5417[label="",style="dashed", color="magenta", weight=3]; 7092[label="vyv425",fontsize=16,color="green",shape="box"];7093[label="even (vyv424 - fromInt (Pos (Succ Zero)))",fontsize=16,color="blue",shape="box"];7619[label="even :: Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];7093 -> 7619[label="",style="solid", color="blue", weight=9]; 7619 -> 7098[label="",style="solid", color="blue", weight=3]; 7620[label="even :: Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];7093 -> 7620[label="",style="solid", color="blue", weight=9]; 7620 -> 7099[label="",style="solid", color="blue", weight=3]; 7094[label="vyv423",fontsize=16,color="green",shape="box"];7095[label="vyv424",fontsize=16,color="green",shape="box"];7091[label="pr2F0G1 (vyv431 * (vyv431 * vyv432)) vyv431 (vyv433 - fromInt (Pos (Succ Zero))) vyv434",fontsize=16,color="burlywood",shape="triangle"];7621[label="vyv434/False",fontsize=10,color="white",style="solid",shape="box"];7091 -> 7621[label="",style="solid", color="burlywood", weight=9]; 7621 -> 7100[label="",style="solid", color="burlywood", weight=3]; 7622[label="vyv434/True",fontsize=10,color="white",style="solid",shape="box"];7091 -> 7622[label="",style="solid", color="burlywood", weight=9]; 7622 -> 7101[label="",style="solid", color="burlywood", weight=3]; 7096 -> 2821[label="",style="dashed", color="red", weight=0]; 7096[label="primMulFloat vyv423 vyv425",fontsize=16,color="magenta"];7096 -> 7110[label="",style="dashed", color="magenta", weight=3]; 7096 -> 7111[label="",style="dashed", color="magenta", weight=3]; 7097 -> 2844[label="",style="dashed", color="red", weight=0]; 7097[label="primMulDouble vyv423 vyv425",fontsize=16,color="magenta"];7097 -> 7112[label="",style="dashed", color="magenta", weight=3]; 7097 -> 7113[label="",style="dashed", color="magenta", weight=3]; 3963[label="gcd0Gcd' (abs vyv295) (abs vyv294)",fontsize=16,color="black",shape="box"];3963 -> 3980[label="",style="solid", color="black", weight=3]; 3965 -> 554[label="",style="dashed", color="red", weight=0]; 3965[label="vyv294 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3965 -> 3981[label="",style="dashed", color="magenta", weight=3]; 3964[label="gcd1 vyv333 vyv295 vyv294",fontsize=16,color="burlywood",shape="triangle"];7623[label="vyv333/False",fontsize=10,color="white",style="solid",shape="box"];3964 -> 7623[label="",style="solid", color="burlywood", weight=9]; 7623 -> 3982[label="",style="solid", color="burlywood", weight=3]; 7624[label="vyv333/True",fontsize=10,color="white",style="solid",shape="box"];3964 -> 7624[label="",style="solid", color="burlywood", weight=9]; 7624 -> 3983[label="",style="solid", color="burlywood", weight=3]; 3738[label="primQuotInt (Neg vyv2930) (gcd0Gcd'2 (abs vyv295) (abs vyv294))",fontsize=16,color="black",shape="box"];3738 -> 3777[label="",style="solid", color="black", weight=3]; 3739[label="vyv294",fontsize=16,color="green",shape="box"];3740[label="primQuotInt (Neg vyv2930) (gcd1 False vyv295 vyv294)",fontsize=16,color="black",shape="box"];3740 -> 3778[label="",style="solid", color="black", weight=3]; 3741[label="primQuotInt (Neg vyv2930) (gcd1 True vyv295 vyv294)",fontsize=16,color="black",shape="box"];3741 -> 3779[label="",style="solid", color="black", weight=3]; 3976[label="gcd0Gcd'2 (abs vyv298) (abs vyv297)",fontsize=16,color="black",shape="box"];3976 -> 4019[label="",style="solid", color="black", weight=3]; 3977[label="vyv297",fontsize=16,color="green",shape="box"];3978[label="gcd1 False vyv298 vyv297",fontsize=16,color="black",shape="box"];3978 -> 4020[label="",style="solid", color="black", weight=3]; 3979[label="gcd1 True vyv298 vyv297",fontsize=16,color="black",shape="box"];3979 -> 4021[label="",style="solid", color="black", weight=3]; 2768[label="vyv114 * vyv114",fontsize=16,color="black",shape="box"];2768 -> 5194[label="",style="solid", color="black", weight=3]; 2769[label="vyv114 * vyv114",fontsize=16,color="black",shape="box"];2769 -> 5195[label="",style="solid", color="black", weight=3]; 2770[label="vyv114 * vyv114",fontsize=16,color="black",shape="box"];2770 -> 5196[label="",style="solid", color="black", weight=3]; 2771[label="vyv114 * vyv114",fontsize=16,color="burlywood",shape="box"];7625[label="vyv114/Integer vyv1140",fontsize=10,color="white",style="solid",shape="box"];2771 -> 7625[label="",style="solid", color="burlywood", weight=9]; 7625 -> 5197[label="",style="solid", color="burlywood", weight=3]; 2772[label="vyv114 * vyv114",fontsize=16,color="burlywood",shape="box"];7626[label="vyv114/vyv1140 :% vyv1141",fontsize=10,color="white",style="solid",shape="box"];2772 -> 7626[label="",style="solid", color="burlywood", weight=9]; 7626 -> 5198[label="",style="solid", color="burlywood", weight=3]; 5574[label="vyv120",fontsize=16,color="green",shape="box"];5415 -> 2745[label="",style="dashed", color="red", weight=0]; 5415[label="primMulInt vyv1210 vyv1210",fontsize=16,color="magenta"];5415 -> 5577[label="",style="dashed", color="magenta", weight=3]; 5416[label="vyv1211",fontsize=16,color="green",shape="box"];5417[label="vyv1210",fontsize=16,color="green",shape="box"];7098 -> 3293[label="",style="dashed", color="red", weight=0]; 7098[label="even (vyv424 - fromInt (Pos (Succ Zero)))",fontsize=16,color="magenta"];7098 -> 7114[label="",style="dashed", color="magenta", weight=3]; 7099 -> 3322[label="",style="dashed", color="red", weight=0]; 7099[label="even (vyv424 - fromInt (Pos (Succ Zero)))",fontsize=16,color="magenta"];7099 -> 7115[label="",style="dashed", color="magenta", weight=3]; 7100[label="pr2F0G1 (vyv431 * (vyv431 * vyv432)) vyv431 (vyv433 - fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];7100 -> 7116[label="",style="solid", color="black", weight=3]; 7101[label="pr2F0G1 (vyv431 * (vyv431 * vyv432)) vyv431 (vyv433 - fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];7101 -> 7117[label="",style="solid", color="black", weight=3]; 7110[label="vyv425",fontsize=16,color="green",shape="box"];7111[label="vyv423",fontsize=16,color="green",shape="box"];7112[label="vyv423",fontsize=16,color="green",shape="box"];7113[label="vyv425",fontsize=16,color="green",shape="box"];3980[label="gcd0Gcd'2 (abs vyv295) (abs vyv294)",fontsize=16,color="black",shape="box"];3980 -> 4022[label="",style="solid", color="black", weight=3]; 3981[label="vyv294",fontsize=16,color="green",shape="box"];3982[label="gcd1 False vyv295 vyv294",fontsize=16,color="black",shape="box"];3982 -> 4023[label="",style="solid", color="black", weight=3]; 3983[label="gcd1 True vyv295 vyv294",fontsize=16,color="black",shape="box"];3983 -> 4024[label="",style="solid", color="black", weight=3]; 3777 -> 3870[label="",style="dashed", color="red", weight=0]; 3777[label="primQuotInt (Neg vyv2930) (gcd0Gcd'1 (abs vyv294 == fromInt (Pos Zero)) (abs vyv295) (abs vyv294))",fontsize=16,color="magenta"];3777 -> 3884[label="",style="dashed", color="magenta", weight=3]; 3777 -> 3885[label="",style="dashed", color="magenta", weight=3]; 3778 -> 3870[label="",style="dashed", color="red", weight=0]; 3778[label="primQuotInt (Neg vyv2930) (gcd0 vyv295 vyv294)",fontsize=16,color="magenta"];3778 -> 3886[label="",style="dashed", color="magenta", weight=3]; 3778 -> 3887[label="",style="dashed", color="magenta", weight=3]; 3779 -> 3870[label="",style="dashed", color="red", weight=0]; 3779[label="primQuotInt (Neg vyv2930) (error [])",fontsize=16,color="magenta"];3779 -> 3888[label="",style="dashed", color="magenta", weight=3]; 3779 -> 3889[label="",style="dashed", color="magenta", weight=3]; 4019 -> 4034[label="",style="dashed", color="red", weight=0]; 4019[label="gcd0Gcd'1 (abs vyv297 == fromInt (Pos Zero)) (abs vyv298) (abs vyv297)",fontsize=16,color="magenta"];4019 -> 4035[label="",style="dashed", color="magenta", weight=3]; 4020 -> 3937[label="",style="dashed", color="red", weight=0]; 4020[label="gcd0 vyv298 vyv297",fontsize=16,color="magenta"];4021 -> 65[label="",style="dashed", color="red", weight=0]; 4021[label="error []",fontsize=16,color="magenta"];5194 -> 2743[label="",style="dashed", color="red", weight=0]; 5194[label="primMulFloat vyv114 vyv114",fontsize=16,color="magenta"];5194 -> 5285[label="",style="dashed", color="magenta", weight=3]; 5195 -> 2744[label="",style="dashed", color="red", weight=0]; 5195[label="primMulDouble vyv114 vyv114",fontsize=16,color="magenta"];5195 -> 5286[label="",style="dashed", color="magenta", weight=3]; 5196 -> 2745[label="",style="dashed", color="red", weight=0]; 5196[label="primMulInt vyv114 vyv114",fontsize=16,color="magenta"];5196 -> 5287[label="",style="dashed", color="magenta", weight=3]; 5197[label="Integer vyv1140 * Integer vyv1140",fontsize=16,color="black",shape="box"];5197 -> 5288[label="",style="solid", color="black", weight=3]; 5198[label="vyv1140 :% vyv1141 * (vyv1140 :% vyv1141)",fontsize=16,color="black",shape="box"];5198 -> 5289[label="",style="solid", color="black", weight=3]; 5577[label="vyv1210",fontsize=16,color="green",shape="box"];7114 -> 3039[label="",style="dashed", color="red", weight=0]; 7114[label="vyv424 - fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7114 -> 7123[label="",style="dashed", color="magenta", weight=3]; 7114 -> 7124[label="",style="dashed", color="magenta", weight=3]; 7115 -> 3054[label="",style="dashed", color="red", weight=0]; 7115[label="vyv424 - fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7115 -> 7125[label="",style="dashed", color="magenta", weight=3]; 7115 -> 7126[label="",style="dashed", color="magenta", weight=3]; 7116[label="pr2F0G0 (vyv431 * (vyv431 * vyv432)) vyv431 (vyv433 - fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];7116 -> 7127[label="",style="solid", color="black", weight=3]; 7117 -> 2645[label="",style="dashed", color="red", weight=0]; 7117[label="pr2F0G (vyv431 * (vyv431 * vyv432)) (vyv431 * vyv431) ((vyv433 - fromInt (Pos (Succ Zero))) `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];7117 -> 7128[label="",style="dashed", color="magenta", weight=3]; 7117 -> 7129[label="",style="dashed", color="magenta", weight=3]; 7117 -> 7130[label="",style="dashed", color="magenta", weight=3]; 4022 -> 3939[label="",style="dashed", color="red", weight=0]; 4022[label="gcd0Gcd'1 (abs vyv294 == fromInt (Pos Zero)) (abs vyv295) (abs vyv294)",fontsize=16,color="magenta"];4022 -> 4041[label="",style="dashed", color="magenta", weight=3]; 4023 -> 3952[label="",style="dashed", color="red", weight=0]; 4023[label="gcd0 vyv295 vyv294",fontsize=16,color="magenta"];4024 -> 65[label="",style="dashed", color="red", weight=0]; 4024[label="error []",fontsize=16,color="magenta"];3884 -> 3939[label="",style="dashed", color="red", weight=0]; 3884[label="gcd0Gcd'1 (abs vyv294 == fromInt (Pos Zero)) (abs vyv295) (abs vyv294)",fontsize=16,color="magenta"];3884 -> 3940[label="",style="dashed", color="magenta", weight=3]; 3885[label="Neg vyv2930",fontsize=16,color="green",shape="box"];3886 -> 3952[label="",style="dashed", color="red", weight=0]; 3886[label="gcd0 vyv295 vyv294",fontsize=16,color="magenta"];3887[label="Neg vyv2930",fontsize=16,color="green",shape="box"];3888 -> 65[label="",style="dashed", color="red", weight=0]; 3888[label="error []",fontsize=16,color="magenta"];3889[label="Neg vyv2930",fontsize=16,color="green",shape="box"];4035 -> 2947[label="",style="dashed", color="red", weight=0]; 4035[label="abs vyv297 == fromInt (Pos Zero)",fontsize=16,color="magenta"];4035 -> 4042[label="",style="dashed", color="magenta", weight=3]; 4034[label="gcd0Gcd'1 vyv343 (abs vyv298) (abs vyv297)",fontsize=16,color="burlywood",shape="triangle"];7627[label="vyv343/False",fontsize=10,color="white",style="solid",shape="box"];4034 -> 7627[label="",style="solid", color="burlywood", weight=9]; 7627 -> 4043[label="",style="solid", color="burlywood", weight=3]; 7628[label="vyv343/True",fontsize=10,color="white",style="solid",shape="box"];4034 -> 7628[label="",style="solid", color="burlywood", weight=9]; 7628 -> 4044[label="",style="solid", color="burlywood", weight=3]; 5285[label="vyv114",fontsize=16,color="green",shape="box"];5286[label="vyv114",fontsize=16,color="green",shape="box"];5287[label="vyv114",fontsize=16,color="green",shape="box"];5288[label="Integer (primMulInt vyv1140 vyv1140)",fontsize=16,color="green",shape="box"];5288 -> 5418[label="",style="dashed", color="green", weight=3]; 5289 -> 2800[label="",style="dashed", color="red", weight=0]; 5289[label="reduce (vyv1140 * vyv1140) (vyv1141 * vyv1141)",fontsize=16,color="magenta"];5289 -> 5419[label="",style="dashed", color="magenta", weight=3]; 5289 -> 5420[label="",style="dashed", color="magenta", weight=3]; 7123 -> 29[label="",style="dashed", color="red", weight=0]; 7123[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7124[label="vyv424",fontsize=16,color="green",shape="box"];7125 -> 30[label="",style="dashed", color="red", weight=0]; 7125[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7126[label="vyv424",fontsize=16,color="green",shape="box"];7127 -> 6926[label="",style="dashed", color="red", weight=0]; 7127[label="pr2F0G0 (vyv431 * (vyv431 * vyv432)) vyv431 (vyv433 - fromInt (Pos (Succ Zero))) True",fontsize=16,color="magenta"];7127 -> 7139[label="",style="dashed", color="magenta", weight=3]; 7127 -> 7140[label="",style="dashed", color="magenta", weight=3]; 7127 -> 7141[label="",style="dashed", color="magenta", weight=3]; 7128[label="vyv431",fontsize=16,color="green",shape="box"];7129[label="vyv433 - fromInt (Pos (Succ Zero))",fontsize=16,color="blue",shape="box"];7629[label="- :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];7129 -> 7629[label="",style="solid", color="blue", weight=9]; 7629 -> 7142[label="",style="solid", color="blue", weight=3]; 7630[label="- :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];7129 -> 7630[label="",style="solid", color="blue", weight=9]; 7630 -> 7143[label="",style="solid", color="blue", weight=3]; 7130[label="vyv431 * (vyv431 * vyv432)",fontsize=16,color="blue",shape="box"];7631[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];7130 -> 7631[label="",style="solid", color="blue", weight=9]; 7631 -> 7144[label="",style="solid", color="blue", weight=3]; 7632[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];7130 -> 7632[label="",style="solid", color="blue", weight=9]; 7632 -> 7145[label="",style="solid", color="blue", weight=3]; 7633[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];7130 -> 7633[label="",style="solid", color="blue", weight=9]; 7633 -> 7146[label="",style="solid", color="blue", weight=3]; 7634[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];7130 -> 7634[label="",style="solid", color="blue", weight=9]; 7634 -> 7147[label="",style="solid", color="blue", weight=3]; 7635[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];7130 -> 7635[label="",style="solid", color="blue", weight=9]; 7635 -> 7148[label="",style="solid", color="blue", weight=3]; 4041 -> 554[label="",style="dashed", color="red", weight=0]; 4041[label="abs vyv294 == fromInt (Pos Zero)",fontsize=16,color="magenta"];4041 -> 4067[label="",style="dashed", color="magenta", weight=3]; 3939[label="gcd0Gcd'1 vyv331 (abs vyv295) (abs vyv294)",fontsize=16,color="burlywood",shape="triangle"];7636[label="vyv331/False",fontsize=10,color="white",style="solid",shape="box"];3939 -> 7636[label="",style="solid", color="burlywood", weight=9]; 7636 -> 4005[label="",style="solid", color="burlywood", weight=3]; 7637[label="vyv331/True",fontsize=10,color="white",style="solid",shape="box"];3939 -> 7637[label="",style="solid", color="burlywood", weight=9]; 7637 -> 4006[label="",style="solid", color="burlywood", weight=3]; 3940 -> 554[label="",style="dashed", color="red", weight=0]; 3940[label="abs vyv294 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3940 -> 4004[label="",style="dashed", color="magenta", weight=3]; 4042[label="abs vyv297",fontsize=16,color="black",shape="triangle"];4042 -> 4068[label="",style="solid", color="black", weight=3]; 4043[label="gcd0Gcd'1 False (abs vyv298) (abs vyv297)",fontsize=16,color="black",shape="box"];4043 -> 4069[label="",style="solid", color="black", weight=3]; 4044[label="gcd0Gcd'1 True (abs vyv298) (abs vyv297)",fontsize=16,color="black",shape="box"];4044 -> 4070[label="",style="solid", color="black", weight=3]; 5418 -> 2745[label="",style="dashed", color="red", weight=0]; 5418[label="primMulInt vyv1140 vyv1140",fontsize=16,color="magenta"];5418 -> 5578[label="",style="dashed", color="magenta", weight=3]; 5419[label="vyv1141",fontsize=16,color="green",shape="box"];5420[label="vyv1140",fontsize=16,color="green",shape="box"];7139[label="vyv431",fontsize=16,color="green",shape="box"];7140[label="vyv431 * vyv432",fontsize=16,color="blue",shape="box"];7638[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];7140 -> 7638[label="",style="solid", color="blue", weight=9]; 7638 -> 7157[label="",style="solid", color="blue", weight=3]; 7639[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];7140 -> 7639[label="",style="solid", color="blue", weight=9]; 7639 -> 7158[label="",style="solid", color="blue", weight=3]; 7640[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];7140 -> 7640[label="",style="solid", color="blue", weight=9]; 7640 -> 7159[label="",style="solid", color="blue", weight=3]; 7641[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];7140 -> 7641[label="",style="solid", color="blue", weight=9]; 7641 -> 7160[label="",style="solid", color="blue", weight=3]; 7642[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];7140 -> 7642[label="",style="solid", color="blue", weight=9]; 7642 -> 7161[label="",style="solid", color="blue", weight=3]; 7141[label="vyv433 - fromInt (Pos (Succ Zero))",fontsize=16,color="blue",shape="box"];7643[label="- :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];7141 -> 7643[label="",style="solid", color="blue", weight=9]; 7643 -> 7162[label="",style="solid", color="blue", weight=3]; 7644[label="- :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];7141 -> 7644[label="",style="solid", color="blue", weight=9]; 7644 -> 7163[label="",style="solid", color="blue", weight=3]; 7142 -> 3039[label="",style="dashed", color="red", weight=0]; 7142[label="vyv433 - fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7142 -> 7164[label="",style="dashed", color="magenta", weight=3]; 7142 -> 7165[label="",style="dashed", color="magenta", weight=3]; 7143 -> 3054[label="",style="dashed", color="red", weight=0]; 7143[label="vyv433 - fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7143 -> 7166[label="",style="dashed", color="magenta", weight=3]; 7143 -> 7167[label="",style="dashed", color="magenta", weight=3]; 7144 -> 7073[label="",style="dashed", color="red", weight=0]; 7144[label="vyv431 * (vyv431 * vyv432)",fontsize=16,color="magenta"];7144 -> 7168[label="",style="dashed", color="magenta", weight=3]; 7144 -> 7169[label="",style="dashed", color="magenta", weight=3]; 7145 -> 7076[label="",style="dashed", color="red", weight=0]; 7145[label="vyv431 * (vyv431 * vyv432)",fontsize=16,color="magenta"];7145 -> 7170[label="",style="dashed", color="magenta", weight=3]; 7145 -> 7171[label="",style="dashed", color="magenta", weight=3]; 7146 -> 2897[label="",style="dashed", color="red", weight=0]; 7146[label="vyv431 * (vyv431 * vyv432)",fontsize=16,color="magenta"];7146 -> 7172[label="",style="dashed", color="magenta", weight=3]; 7146 -> 7173[label="",style="dashed", color="magenta", weight=3]; 7147 -> 3515[label="",style="dashed", color="red", weight=0]; 7147[label="vyv431 * (vyv431 * vyv432)",fontsize=16,color="magenta"];7147 -> 7174[label="",style="dashed", color="magenta", weight=3]; 7147 -> 7175[label="",style="dashed", color="magenta", weight=3]; 7148 -> 6289[label="",style="dashed", color="red", weight=0]; 7148[label="vyv431 * (vyv431 * vyv432)",fontsize=16,color="magenta"];7148 -> 7176[label="",style="dashed", color="magenta", weight=3]; 7148 -> 7177[label="",style="dashed", color="magenta", weight=3]; 4067 -> 4004[label="",style="dashed", color="red", weight=0]; 4067[label="abs vyv294",fontsize=16,color="magenta"];4005[label="gcd0Gcd'1 False (abs vyv295) (abs vyv294)",fontsize=16,color="black",shape="box"];4005 -> 4053[label="",style="solid", color="black", weight=3]; 4006[label="gcd0Gcd'1 True (abs vyv295) (abs vyv294)",fontsize=16,color="black",shape="box"];4006 -> 4054[label="",style="solid", color="black", weight=3]; 4004[label="abs vyv294",fontsize=16,color="black",shape="triangle"];4004 -> 4052[label="",style="solid", color="black", weight=3]; 4068[label="absReal vyv297",fontsize=16,color="black",shape="box"];4068 -> 4083[label="",style="solid", color="black", weight=3]; 4069 -> 4084[label="",style="dashed", color="red", weight=0]; 4069[label="gcd0Gcd'0 (abs vyv298) (abs vyv297)",fontsize=16,color="magenta"];4069 -> 4085[label="",style="dashed", color="magenta", weight=3]; 4069 -> 4086[label="",style="dashed", color="magenta", weight=3]; 4070 -> 4042[label="",style="dashed", color="red", weight=0]; 4070[label="abs vyv298",fontsize=16,color="magenta"];4070 -> 4092[label="",style="dashed", color="magenta", weight=3]; 5578[label="vyv1140",fontsize=16,color="green",shape="box"];7157 -> 7073[label="",style="dashed", color="red", weight=0]; 7157[label="vyv431 * vyv432",fontsize=16,color="magenta"];7157 -> 7182[label="",style="dashed", color="magenta", weight=3]; 7157 -> 7183[label="",style="dashed", color="magenta", weight=3]; 7158 -> 7076[label="",style="dashed", color="red", weight=0]; 7158[label="vyv431 * vyv432",fontsize=16,color="magenta"];7158 -> 7184[label="",style="dashed", color="magenta", weight=3]; 7158 -> 7185[label="",style="dashed", color="magenta", weight=3]; 7159 -> 2897[label="",style="dashed", color="red", weight=0]; 7159[label="vyv431 * vyv432",fontsize=16,color="magenta"];7159 -> 7186[label="",style="dashed", color="magenta", weight=3]; 7159 -> 7187[label="",style="dashed", color="magenta", weight=3]; 7160 -> 3515[label="",style="dashed", color="red", weight=0]; 7160[label="vyv431 * vyv432",fontsize=16,color="magenta"];7160 -> 7188[label="",style="dashed", color="magenta", weight=3]; 7160 -> 7189[label="",style="dashed", color="magenta", weight=3]; 7161 -> 6289[label="",style="dashed", color="red", weight=0]; 7161[label="vyv431 * vyv432",fontsize=16,color="magenta"];7161 -> 7190[label="",style="dashed", color="magenta", weight=3]; 7161 -> 7191[label="",style="dashed", color="magenta", weight=3]; 7162 -> 3039[label="",style="dashed", color="red", weight=0]; 7162[label="vyv433 - fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7162 -> 7192[label="",style="dashed", color="magenta", weight=3]; 7162 -> 7193[label="",style="dashed", color="magenta", weight=3]; 7163 -> 3054[label="",style="dashed", color="red", weight=0]; 7163[label="vyv433 - fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7163 -> 7194[label="",style="dashed", color="magenta", weight=3]; 7163 -> 7195[label="",style="dashed", color="magenta", weight=3]; 7164 -> 29[label="",style="dashed", color="red", weight=0]; 7164[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7165[label="vyv433",fontsize=16,color="green",shape="box"];7166 -> 30[label="",style="dashed", color="red", weight=0]; 7166[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7167[label="vyv433",fontsize=16,color="green",shape="box"];7168[label="vyv431",fontsize=16,color="green",shape="box"];7169 -> 7073[label="",style="dashed", color="red", weight=0]; 7169[label="vyv431 * vyv432",fontsize=16,color="magenta"];7169 -> 7196[label="",style="dashed", color="magenta", weight=3]; 7169 -> 7197[label="",style="dashed", color="magenta", weight=3]; 7170[label="vyv431",fontsize=16,color="green",shape="box"];7171 -> 7076[label="",style="dashed", color="red", weight=0]; 7171[label="vyv431 * vyv432",fontsize=16,color="magenta"];7171 -> 7198[label="",style="dashed", color="magenta", weight=3]; 7171 -> 7199[label="",style="dashed", color="magenta", weight=3]; 7172 -> 2897[label="",style="dashed", color="red", weight=0]; 7172[label="vyv431 * vyv432",fontsize=16,color="magenta"];7172 -> 7200[label="",style="dashed", color="magenta", weight=3]; 7172 -> 7201[label="",style="dashed", color="magenta", weight=3]; 7173[label="vyv431",fontsize=16,color="green",shape="box"];7174 -> 3515[label="",style="dashed", color="red", weight=0]; 7174[label="vyv431 * vyv432",fontsize=16,color="magenta"];7174 -> 7202[label="",style="dashed", color="magenta", weight=3]; 7174 -> 7203[label="",style="dashed", color="magenta", weight=3]; 7175[label="vyv431",fontsize=16,color="green",shape="box"];7176[label="vyv431",fontsize=16,color="green",shape="box"];7177 -> 6289[label="",style="dashed", color="red", weight=0]; 7177[label="vyv431 * vyv432",fontsize=16,color="magenta"];7177 -> 7204[label="",style="dashed", color="magenta", weight=3]; 7177 -> 7205[label="",style="dashed", color="magenta", weight=3]; 4053 -> 4072[label="",style="dashed", color="red", weight=0]; 4053[label="gcd0Gcd'0 (abs vyv295) (abs vyv294)",fontsize=16,color="magenta"];4053 -> 4073[label="",style="dashed", color="magenta", weight=3]; 4053 -> 4074[label="",style="dashed", color="magenta", weight=3]; 4054 -> 4004[label="",style="dashed", color="red", weight=0]; 4054[label="abs vyv295",fontsize=16,color="magenta"];4054 -> 4093[label="",style="dashed", color="magenta", weight=3]; 4052[label="absReal vyv294",fontsize=16,color="black",shape="box"];4052 -> 4071[label="",style="solid", color="black", weight=3]; 4083[label="absReal2 vyv297",fontsize=16,color="black",shape="box"];4083 -> 4094[label="",style="solid", color="black", weight=3]; 4085 -> 4042[label="",style="dashed", color="red", weight=0]; 4085[label="abs vyv298",fontsize=16,color="magenta"];4085 -> 4095[label="",style="dashed", color="magenta", weight=3]; 4086 -> 4042[label="",style="dashed", color="red", weight=0]; 4086[label="abs vyv297",fontsize=16,color="magenta"];4084[label="gcd0Gcd'0 vyv347 vyv346",fontsize=16,color="black",shape="triangle"];4084 -> 4096[label="",style="solid", color="black", weight=3]; 4092[label="vyv298",fontsize=16,color="green",shape="box"];7182[label="vyv431",fontsize=16,color="green",shape="box"];7183[label="vyv432",fontsize=16,color="green",shape="box"];7184[label="vyv431",fontsize=16,color="green",shape="box"];7185[label="vyv432",fontsize=16,color="green",shape="box"];7186[label="vyv432",fontsize=16,color="green",shape="box"];7187[label="vyv431",fontsize=16,color="green",shape="box"];7188[label="vyv432",fontsize=16,color="green",shape="box"];7189[label="vyv431",fontsize=16,color="green",shape="box"];7190[label="vyv431",fontsize=16,color="green",shape="box"];7191[label="vyv432",fontsize=16,color="green",shape="box"];7192 -> 29[label="",style="dashed", color="red", weight=0]; 7192[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7193[label="vyv433",fontsize=16,color="green",shape="box"];7194 -> 30[label="",style="dashed", color="red", weight=0]; 7194[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7195[label="vyv433",fontsize=16,color="green",shape="box"];7196[label="vyv431",fontsize=16,color="green",shape="box"];7197[label="vyv432",fontsize=16,color="green",shape="box"];7198[label="vyv431",fontsize=16,color="green",shape="box"];7199[label="vyv432",fontsize=16,color="green",shape="box"];7200[label="vyv432",fontsize=16,color="green",shape="box"];7201[label="vyv431",fontsize=16,color="green",shape="box"];7202[label="vyv432",fontsize=16,color="green",shape="box"];7203[label="vyv431",fontsize=16,color="green",shape="box"];7204[label="vyv431",fontsize=16,color="green",shape="box"];7205[label="vyv432",fontsize=16,color="green",shape="box"];4073 -> 4004[label="",style="dashed", color="red", weight=0]; 4073[label="abs vyv294",fontsize=16,color="magenta"];4074 -> 4004[label="",style="dashed", color="red", weight=0]; 4074[label="abs vyv295",fontsize=16,color="magenta"];4074 -> 4101[label="",style="dashed", color="magenta", weight=3]; 4072[label="gcd0Gcd'0 vyv345 vyv344",fontsize=16,color="black",shape="triangle"];4072 -> 4102[label="",style="solid", color="black", weight=3]; 4093[label="vyv295",fontsize=16,color="green",shape="box"];4071[label="absReal2 vyv294",fontsize=16,color="black",shape="box"];4071 -> 4103[label="",style="solid", color="black", weight=3]; 4094[label="absReal1 vyv297 (vyv297 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];4094 -> 4112[label="",style="solid", color="black", weight=3]; 4095[label="vyv298",fontsize=16,color="green",shape="box"];4096[label="gcd0Gcd' vyv346 (vyv347 `rem` vyv346)",fontsize=16,color="black",shape="box"];4096 -> 4113[label="",style="solid", color="black", weight=3]; 4101[label="vyv295",fontsize=16,color="green",shape="box"];4102[label="gcd0Gcd' vyv344 (vyv345 `rem` vyv344)",fontsize=16,color="black",shape="box"];4102 -> 4124[label="",style="solid", color="black", weight=3]; 4103[label="absReal1 vyv294 (vyv294 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];4103 -> 4125[label="",style="solid", color="black", weight=3]; 4112[label="absReal1 vyv297 (compare vyv297 (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];4112 -> 4136[label="",style="solid", color="black", weight=3]; 4113[label="gcd0Gcd'2 vyv346 (vyv347 `rem` vyv346)",fontsize=16,color="black",shape="box"];4113 -> 4137[label="",style="solid", color="black", weight=3]; 4124[label="gcd0Gcd'2 vyv344 (vyv345 `rem` vyv344)",fontsize=16,color="black",shape="box"];4124 -> 4153[label="",style="solid", color="black", weight=3]; 4125[label="absReal1 vyv294 (compare vyv294 (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];4125 -> 4154[label="",style="solid", color="black", weight=3]; 4136[label="absReal1 vyv297 (not (compare vyv297 (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];7645[label="vyv297/Integer vyv2970",fontsize=10,color="white",style="solid",shape="box"];4136 -> 7645[label="",style="solid", color="burlywood", weight=9]; 7645 -> 4162[label="",style="solid", color="burlywood", weight=3]; 4137 -> 4163[label="",style="dashed", color="red", weight=0]; 4137[label="gcd0Gcd'1 (vyv347 `rem` vyv346 == fromInt (Pos Zero)) vyv346 (vyv347 `rem` vyv346)",fontsize=16,color="magenta"];4137 -> 4164[label="",style="dashed", color="magenta", weight=3]; 4153 -> 4191[label="",style="dashed", color="red", weight=0]; 4153[label="gcd0Gcd'1 (vyv345 `rem` vyv344 == fromInt (Pos Zero)) vyv344 (vyv345 `rem` vyv344)",fontsize=16,color="magenta"];4153 -> 4192[label="",style="dashed", color="magenta", weight=3]; 4154[label="absReal1 vyv294 (not (compare vyv294 (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];4154 -> 4201[label="",style="solid", color="black", weight=3]; 4162[label="absReal1 (Integer vyv2970) (not (compare (Integer vyv2970) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];4162 -> 4202[label="",style="solid", color="black", weight=3]; 4164 -> 2947[label="",style="dashed", color="red", weight=0]; 4164[label="vyv347 `rem` vyv346 == fromInt (Pos Zero)",fontsize=16,color="magenta"];4164 -> 4203[label="",style="dashed", color="magenta", weight=3]; 4163[label="gcd0Gcd'1 vyv350 vyv346 (vyv347 `rem` vyv346)",fontsize=16,color="burlywood",shape="triangle"];7646[label="vyv350/False",fontsize=10,color="white",style="solid",shape="box"];4163 -> 7646[label="",style="solid", color="burlywood", weight=9]; 7646 -> 4204[label="",style="solid", color="burlywood", weight=3]; 7647[label="vyv350/True",fontsize=10,color="white",style="solid",shape="box"];4163 -> 7647[label="",style="solid", color="burlywood", weight=9]; 7647 -> 4205[label="",style="solid", color="burlywood", weight=3]; 4192 -> 554[label="",style="dashed", color="red", weight=0]; 4192[label="vyv345 `rem` vyv344 == fromInt (Pos Zero)",fontsize=16,color="magenta"];4192 -> 4235[label="",style="dashed", color="magenta", weight=3]; 4191[label="gcd0Gcd'1 vyv351 vyv344 (vyv345 `rem` vyv344)",fontsize=16,color="burlywood",shape="triangle"];7648[label="vyv351/False",fontsize=10,color="white",style="solid",shape="box"];4191 -> 7648[label="",style="solid", color="burlywood", weight=9]; 7648 -> 4236[label="",style="solid", color="burlywood", weight=3]; 7649[label="vyv351/True",fontsize=10,color="white",style="solid",shape="box"];4191 -> 7649[label="",style="solid", color="burlywood", weight=9]; 7649 -> 4237[label="",style="solid", color="burlywood", weight=3]; 4201[label="absReal1 vyv294 (not (primCmpInt vyv294 (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];7650[label="vyv294/Pos vyv2940",fontsize=10,color="white",style="solid",shape="box"];4201 -> 7650[label="",style="solid", color="burlywood", weight=9]; 7650 -> 4238[label="",style="solid", color="burlywood", weight=3]; 7651[label="vyv294/Neg vyv2940",fontsize=10,color="white",style="solid",shape="box"];4201 -> 7651[label="",style="solid", color="burlywood", weight=9]; 7651 -> 4239[label="",style="solid", color="burlywood", weight=3]; 4202[label="absReal1 (Integer vyv2970) (not (compare (Integer vyv2970) (Integer (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];4202 -> 4240[label="",style="solid", color="black", weight=3]; 4203[label="vyv347 `rem` vyv346",fontsize=16,color="burlywood",shape="triangle"];7652[label="vyv347/Integer vyv3470",fontsize=10,color="white",style="solid",shape="box"];4203 -> 7652[label="",style="solid", color="burlywood", weight=9]; 7652 -> 4241[label="",style="solid", color="burlywood", weight=3]; 4204[label="gcd0Gcd'1 False vyv346 (vyv347 `rem` vyv346)",fontsize=16,color="black",shape="box"];4204 -> 4242[label="",style="solid", color="black", weight=3]; 4205[label="gcd0Gcd'1 True vyv346 (vyv347 `rem` vyv346)",fontsize=16,color="black",shape="box"];4205 -> 4243[label="",style="solid", color="black", weight=3]; 4235[label="vyv345 `rem` vyv344",fontsize=16,color="black",shape="triangle"];4235 -> 4273[label="",style="solid", color="black", weight=3]; 4236[label="gcd0Gcd'1 False vyv344 (vyv345 `rem` vyv344)",fontsize=16,color="black",shape="box"];4236 -> 4274[label="",style="solid", color="black", weight=3]; 4237[label="gcd0Gcd'1 True vyv344 (vyv345 `rem` vyv344)",fontsize=16,color="black",shape="box"];4237 -> 4275[label="",style="solid", color="black", weight=3]; 4238[label="absReal1 (Pos vyv2940) (not (primCmpInt (Pos vyv2940) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];7653[label="vyv2940/Succ vyv29400",fontsize=10,color="white",style="solid",shape="box"];4238 -> 7653[label="",style="solid", color="burlywood", weight=9]; 7653 -> 4276[label="",style="solid", color="burlywood", weight=3]; 7654[label="vyv2940/Zero",fontsize=10,color="white",style="solid",shape="box"];4238 -> 7654[label="",style="solid", color="burlywood", weight=9]; 7654 -> 4277[label="",style="solid", color="burlywood", weight=3]; 4239[label="absReal1 (Neg vyv2940) (not (primCmpInt (Neg vyv2940) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];7655[label="vyv2940/Succ vyv29400",fontsize=10,color="white",style="solid",shape="box"];4239 -> 7655[label="",style="solid", color="burlywood", weight=9]; 7655 -> 4278[label="",style="solid", color="burlywood", weight=3]; 7656[label="vyv2940/Zero",fontsize=10,color="white",style="solid",shape="box"];4239 -> 7656[label="",style="solid", color="burlywood", weight=9]; 7656 -> 4279[label="",style="solid", color="burlywood", weight=3]; 4240[label="absReal1 (Integer vyv2970) (not (primCmpInt vyv2970 (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];7657[label="vyv2970/Pos vyv29700",fontsize=10,color="white",style="solid",shape="box"];4240 -> 7657[label="",style="solid", color="burlywood", weight=9]; 7657 -> 4280[label="",style="solid", color="burlywood", weight=3]; 7658[label="vyv2970/Neg vyv29700",fontsize=10,color="white",style="solid",shape="box"];4240 -> 7658[label="",style="solid", color="burlywood", weight=9]; 7658 -> 4281[label="",style="solid", color="burlywood", weight=3]; 4241[label="Integer vyv3470 `rem` vyv346",fontsize=16,color="burlywood",shape="box"];7659[label="vyv346/Integer vyv3460",fontsize=10,color="white",style="solid",shape="box"];4241 -> 7659[label="",style="solid", color="burlywood", weight=9]; 7659 -> 4282[label="",style="solid", color="burlywood", weight=3]; 4242 -> 4084[label="",style="dashed", color="red", weight=0]; 4242[label="gcd0Gcd'0 vyv346 (vyv347 `rem` vyv346)",fontsize=16,color="magenta"];4242 -> 4283[label="",style="dashed", color="magenta", weight=3]; 4242 -> 4284[label="",style="dashed", color="magenta", weight=3]; 4243[label="vyv346",fontsize=16,color="green",shape="box"];4273[label="primRemInt vyv345 vyv344",fontsize=16,color="burlywood",shape="triangle"];7660[label="vyv345/Pos vyv3450",fontsize=10,color="white",style="solid",shape="box"];4273 -> 7660[label="",style="solid", color="burlywood", weight=9]; 7660 -> 4308[label="",style="solid", color="burlywood", weight=3]; 7661[label="vyv345/Neg vyv3450",fontsize=10,color="white",style="solid",shape="box"];4273 -> 7661[label="",style="solid", color="burlywood", weight=9]; 7661 -> 4309[label="",style="solid", color="burlywood", weight=3]; 4274 -> 4072[label="",style="dashed", color="red", weight=0]; 4274[label="gcd0Gcd'0 vyv344 (vyv345 `rem` vyv344)",fontsize=16,color="magenta"];4274 -> 4310[label="",style="dashed", color="magenta", weight=3]; 4274 -> 4311[label="",style="dashed", color="magenta", weight=3]; 4275[label="vyv344",fontsize=16,color="green",shape="box"];4276[label="absReal1 (Pos (Succ vyv29400)) (not (primCmpInt (Pos (Succ vyv29400)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];4276 -> 4312[label="",style="solid", color="black", weight=3]; 4277[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];4277 -> 4313[label="",style="solid", color="black", weight=3]; 4278[label="absReal1 (Neg (Succ vyv29400)) (not (primCmpInt (Neg (Succ vyv29400)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];4278 -> 4314[label="",style="solid", color="black", weight=3]; 4279[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];4279 -> 4315[label="",style="solid", color="black", weight=3]; 4280[label="absReal1 (Integer (Pos vyv29700)) (not (primCmpInt (Pos vyv29700) (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];7662[label="vyv29700/Succ vyv297000",fontsize=10,color="white",style="solid",shape="box"];4280 -> 7662[label="",style="solid", color="burlywood", weight=9]; 7662 -> 4316[label="",style="solid", color="burlywood", weight=3]; 7663[label="vyv29700/Zero",fontsize=10,color="white",style="solid",shape="box"];4280 -> 7663[label="",style="solid", color="burlywood", weight=9]; 7663 -> 4317[label="",style="solid", color="burlywood", weight=3]; 4281[label="absReal1 (Integer (Neg vyv29700)) (not (primCmpInt (Neg vyv29700) (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];7664[label="vyv29700/Succ vyv297000",fontsize=10,color="white",style="solid",shape="box"];4281 -> 7664[label="",style="solid", color="burlywood", weight=9]; 7664 -> 4318[label="",style="solid", color="burlywood", weight=3]; 7665[label="vyv29700/Zero",fontsize=10,color="white",style="solid",shape="box"];4281 -> 7665[label="",style="solid", color="burlywood", weight=9]; 7665 -> 4319[label="",style="solid", color="burlywood", weight=3]; 4282[label="Integer vyv3470 `rem` Integer vyv3460",fontsize=16,color="black",shape="box"];4282 -> 4320[label="",style="solid", color="black", weight=3]; 4283[label="vyv346",fontsize=16,color="green",shape="box"];4284 -> 4203[label="",style="dashed", color="red", weight=0]; 4284[label="vyv347 `rem` vyv346",fontsize=16,color="magenta"];4308[label="primRemInt (Pos vyv3450) vyv344",fontsize=16,color="burlywood",shape="box"];7666[label="vyv344/Pos vyv3440",fontsize=10,color="white",style="solid",shape="box"];4308 -> 7666[label="",style="solid", color="burlywood", weight=9]; 7666 -> 4343[label="",style="solid", color="burlywood", weight=3]; 7667[label="vyv344/Neg vyv3440",fontsize=10,color="white",style="solid",shape="box"];4308 -> 7667[label="",style="solid", color="burlywood", weight=9]; 7667 -> 4344[label="",style="solid", color="burlywood", weight=3]; 4309[label="primRemInt (Neg vyv3450) vyv344",fontsize=16,color="burlywood",shape="box"];7668[label="vyv344/Pos vyv3440",fontsize=10,color="white",style="solid",shape="box"];4309 -> 7668[label="",style="solid", color="burlywood", weight=9]; 7668 -> 4345[label="",style="solid", color="burlywood", weight=3]; 7669[label="vyv344/Neg vyv3440",fontsize=10,color="white",style="solid",shape="box"];4309 -> 7669[label="",style="solid", color="burlywood", weight=9]; 7669 -> 4346[label="",style="solid", color="burlywood", weight=3]; 4310 -> 4235[label="",style="dashed", color="red", weight=0]; 4310[label="vyv345 `rem` vyv344",fontsize=16,color="magenta"];4311[label="vyv344",fontsize=16,color="green",shape="box"];4312[label="absReal1 (Pos (Succ vyv29400)) (not (primCmpInt (Pos (Succ vyv29400)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];4312 -> 4347[label="",style="solid", color="black", weight=3]; 4313[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];4313 -> 4348[label="",style="solid", color="black", weight=3]; 4314[label="absReal1 (Neg (Succ vyv29400)) (not (primCmpInt (Neg (Succ vyv29400)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];4314 -> 4349[label="",style="solid", color="black", weight=3]; 4315[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];4315 -> 4350[label="",style="solid", color="black", weight=3]; 4316[label="absReal1 (Integer (Pos (Succ vyv297000))) (not (primCmpInt (Pos (Succ vyv297000)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];4316 -> 4351[label="",style="solid", color="black", weight=3]; 4317[label="absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];4317 -> 4352[label="",style="solid", color="black", weight=3]; 4318[label="absReal1 (Integer (Neg (Succ vyv297000))) (not (primCmpInt (Neg (Succ vyv297000)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];4318 -> 4353[label="",style="solid", color="black", weight=3]; 4319[label="absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];4319 -> 4354[label="",style="solid", color="black", weight=3]; 4320[label="Integer (primRemInt vyv3470 vyv3460)",fontsize=16,color="green",shape="box"];4320 -> 4355[label="",style="dashed", color="green", weight=3]; 4343[label="primRemInt (Pos vyv3450) (Pos vyv3440)",fontsize=16,color="burlywood",shape="box"];7670[label="vyv3440/Succ vyv34400",fontsize=10,color="white",style="solid",shape="box"];4343 -> 7670[label="",style="solid", color="burlywood", weight=9]; 7670 -> 4383[label="",style="solid", color="burlywood", weight=3]; 7671[label="vyv3440/Zero",fontsize=10,color="white",style="solid",shape="box"];4343 -> 7671[label="",style="solid", color="burlywood", weight=9]; 7671 -> 4384[label="",style="solid", color="burlywood", weight=3]; 4344[label="primRemInt (Pos vyv3450) (Neg vyv3440)",fontsize=16,color="burlywood",shape="box"];7672[label="vyv3440/Succ vyv34400",fontsize=10,color="white",style="solid",shape="box"];4344 -> 7672[label="",style="solid", color="burlywood", weight=9]; 7672 -> 4385[label="",style="solid", color="burlywood", weight=3]; 7673[label="vyv3440/Zero",fontsize=10,color="white",style="solid",shape="box"];4344 -> 7673[label="",style="solid", color="burlywood", weight=9]; 7673 -> 4386[label="",style="solid", color="burlywood", weight=3]; 4345[label="primRemInt (Neg vyv3450) (Pos vyv3440)",fontsize=16,color="burlywood",shape="box"];7674[label="vyv3440/Succ vyv34400",fontsize=10,color="white",style="solid",shape="box"];4345 -> 7674[label="",style="solid", color="burlywood", weight=9]; 7674 -> 4387[label="",style="solid", color="burlywood", weight=3]; 7675[label="vyv3440/Zero",fontsize=10,color="white",style="solid",shape="box"];4345 -> 7675[label="",style="solid", color="burlywood", weight=9]; 7675 -> 4388[label="",style="solid", color="burlywood", weight=3]; 4346[label="primRemInt (Neg vyv3450) (Neg vyv3440)",fontsize=16,color="burlywood",shape="box"];7676[label="vyv3440/Succ vyv34400",fontsize=10,color="white",style="solid",shape="box"];4346 -> 7676[label="",style="solid", color="burlywood", weight=9]; 7676 -> 4389[label="",style="solid", color="burlywood", weight=3]; 7677[label="vyv3440/Zero",fontsize=10,color="white",style="solid",shape="box"];4346 -> 7677[label="",style="solid", color="burlywood", weight=9]; 7677 -> 4390[label="",style="solid", color="burlywood", weight=3]; 4347[label="absReal1 (Pos (Succ vyv29400)) (not (primCmpNat (Succ vyv29400) Zero == LT))",fontsize=16,color="black",shape="box"];4347 -> 4391[label="",style="solid", color="black", weight=3]; 4348[label="absReal1 (Pos Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];4348 -> 4392[label="",style="solid", color="black", weight=3]; 4349[label="absReal1 (Neg (Succ vyv29400)) (not (LT == LT))",fontsize=16,color="black",shape="box"];4349 -> 4393[label="",style="solid", color="black", weight=3]; 4350[label="absReal1 (Neg Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];4350 -> 4394[label="",style="solid", color="black", weight=3]; 4351[label="absReal1 (Integer (Pos (Succ vyv297000))) (not (primCmpNat (Succ vyv297000) Zero == LT))",fontsize=16,color="black",shape="box"];4351 -> 4395[label="",style="solid", color="black", weight=3]; 4352[label="absReal1 (Integer (Pos Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];4352 -> 4396[label="",style="solid", color="black", weight=3]; 4353[label="absReal1 (Integer (Neg (Succ vyv297000))) (not (LT == LT))",fontsize=16,color="black",shape="box"];4353 -> 4397[label="",style="solid", color="black", weight=3]; 4354[label="absReal1 (Integer (Neg Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];4354 -> 4398[label="",style="solid", color="black", weight=3]; 4355 -> 4273[label="",style="dashed", color="red", weight=0]; 4355[label="primRemInt vyv3470 vyv3460",fontsize=16,color="magenta"];4355 -> 4399[label="",style="dashed", color="magenta", weight=3]; 4355 -> 4400[label="",style="dashed", color="magenta", weight=3]; 4383[label="primRemInt (Pos vyv3450) (Pos (Succ vyv34400))",fontsize=16,color="black",shape="box"];4383 -> 4435[label="",style="solid", color="black", weight=3]; 4384[label="primRemInt (Pos vyv3450) (Pos Zero)",fontsize=16,color="black",shape="box"];4384 -> 4436[label="",style="solid", color="black", weight=3]; 4385[label="primRemInt (Pos vyv3450) (Neg (Succ vyv34400))",fontsize=16,color="black",shape="box"];4385 -> 4437[label="",style="solid", color="black", weight=3]; 4386[label="primRemInt (Pos vyv3450) (Neg Zero)",fontsize=16,color="black",shape="box"];4386 -> 4438[label="",style="solid", color="black", weight=3]; 4387[label="primRemInt (Neg vyv3450) (Pos (Succ vyv34400))",fontsize=16,color="black",shape="box"];4387 -> 4439[label="",style="solid", color="black", weight=3]; 4388[label="primRemInt (Neg vyv3450) (Pos Zero)",fontsize=16,color="black",shape="box"];4388 -> 4440[label="",style="solid", color="black", weight=3]; 4389[label="primRemInt (Neg vyv3450) (Neg (Succ vyv34400))",fontsize=16,color="black",shape="box"];4389 -> 4441[label="",style="solid", color="black", weight=3]; 4390[label="primRemInt (Neg vyv3450) (Neg Zero)",fontsize=16,color="black",shape="box"];4390 -> 4442[label="",style="solid", color="black", weight=3]; 4391[label="absReal1 (Pos (Succ vyv29400)) (not (GT == LT))",fontsize=16,color="black",shape="box"];4391 -> 4443[label="",style="solid", color="black", weight=3]; 4392[label="absReal1 (Pos Zero) (not False)",fontsize=16,color="black",shape="box"];4392 -> 4444[label="",style="solid", color="black", weight=3]; 4393[label="absReal1 (Neg (Succ vyv29400)) (not True)",fontsize=16,color="black",shape="box"];4393 -> 4445[label="",style="solid", color="black", weight=3]; 4394[label="absReal1 (Neg Zero) (not False)",fontsize=16,color="black",shape="box"];4394 -> 4446[label="",style="solid", color="black", weight=3]; 4395[label="absReal1 (Integer (Pos (Succ vyv297000))) (not (GT == LT))",fontsize=16,color="black",shape="box"];4395 -> 4447[label="",style="solid", color="black", weight=3]; 4396[label="absReal1 (Integer (Pos Zero)) (not False)",fontsize=16,color="black",shape="box"];4396 -> 4448[label="",style="solid", color="black", weight=3]; 4397[label="absReal1 (Integer (Neg (Succ vyv297000))) (not True)",fontsize=16,color="black",shape="box"];4397 -> 4449[label="",style="solid", color="black", weight=3]; 4398[label="absReal1 (Integer (Neg Zero)) (not False)",fontsize=16,color="black",shape="box"];4398 -> 4450[label="",style="solid", color="black", weight=3]; 4399[label="vyv3460",fontsize=16,color="green",shape="box"];4400[label="vyv3470",fontsize=16,color="green",shape="box"];4435[label="Pos (primModNatS vyv3450 (Succ vyv34400))",fontsize=16,color="green",shape="box"];4435 -> 5469[label="",style="dashed", color="green", weight=3]; 4436 -> 65[label="",style="dashed", color="red", weight=0]; 4436[label="error []",fontsize=16,color="magenta"];4437[label="Pos (primModNatS vyv3450 (Succ vyv34400))",fontsize=16,color="green",shape="box"];4437 -> 5470[label="",style="dashed", color="green", weight=3]; 4438 -> 65[label="",style="dashed", color="red", weight=0]; 4438[label="error []",fontsize=16,color="magenta"];4439[label="Neg (primModNatS vyv3450 (Succ vyv34400))",fontsize=16,color="green",shape="box"];4439 -> 5471[label="",style="dashed", color="green", weight=3]; 4440 -> 65[label="",style="dashed", color="red", weight=0]; 4440[label="error []",fontsize=16,color="magenta"];4441[label="Neg (primModNatS vyv3450 (Succ vyv34400))",fontsize=16,color="green",shape="box"];4441 -> 5472[label="",style="dashed", color="green", weight=3]; 4442 -> 65[label="",style="dashed", color="red", weight=0]; 4442[label="error []",fontsize=16,color="magenta"];4443[label="absReal1 (Pos (Succ vyv29400)) (not False)",fontsize=16,color="black",shape="box"];4443 -> 5473[label="",style="solid", color="black", weight=3]; 4444[label="absReal1 (Pos Zero) True",fontsize=16,color="black",shape="box"];4444 -> 5474[label="",style="solid", color="black", weight=3]; 4445[label="absReal1 (Neg (Succ vyv29400)) False",fontsize=16,color="black",shape="box"];4445 -> 5475[label="",style="solid", color="black", weight=3]; 4446[label="absReal1 (Neg Zero) True",fontsize=16,color="black",shape="box"];4446 -> 5476[label="",style="solid", color="black", weight=3]; 4447[label="absReal1 (Integer (Pos (Succ vyv297000))) (not False)",fontsize=16,color="black",shape="box"];4447 -> 5477[label="",style="solid", color="black", weight=3]; 4448[label="absReal1 (Integer (Pos Zero)) True",fontsize=16,color="black",shape="box"];4448 -> 5478[label="",style="solid", color="black", weight=3]; 4449[label="absReal1 (Integer (Neg (Succ vyv297000))) False",fontsize=16,color="black",shape="box"];4449 -> 5479[label="",style="solid", color="black", weight=3]; 4450[label="absReal1 (Integer (Neg Zero)) True",fontsize=16,color="black",shape="box"];4450 -> 5480[label="",style="solid", color="black", weight=3]; 5469[label="primModNatS vyv3450 (Succ vyv34400)",fontsize=16,color="burlywood",shape="triangle"];7678[label="vyv3450/Succ vyv34500",fontsize=10,color="white",style="solid",shape="box"];5469 -> 7678[label="",style="solid", color="burlywood", weight=9]; 7678 -> 5645[label="",style="solid", color="burlywood", weight=3]; 7679[label="vyv3450/Zero",fontsize=10,color="white",style="solid",shape="box"];5469 -> 7679[label="",style="solid", color="burlywood", weight=9]; 7679 -> 5646[label="",style="solid", color="burlywood", weight=3]; 5470 -> 5469[label="",style="dashed", color="red", weight=0]; 5470[label="primModNatS vyv3450 (Succ vyv34400)",fontsize=16,color="magenta"];5470 -> 5647[label="",style="dashed", color="magenta", weight=3]; 5471 -> 5469[label="",style="dashed", color="red", weight=0]; 5471[label="primModNatS vyv3450 (Succ vyv34400)",fontsize=16,color="magenta"];5471 -> 5648[label="",style="dashed", color="magenta", weight=3]; 5472 -> 5469[label="",style="dashed", color="red", weight=0]; 5472[label="primModNatS vyv3450 (Succ vyv34400)",fontsize=16,color="magenta"];5472 -> 5649[label="",style="dashed", color="magenta", weight=3]; 5472 -> 5650[label="",style="dashed", color="magenta", weight=3]; 5473[label="absReal1 (Pos (Succ vyv29400)) True",fontsize=16,color="black",shape="box"];5473 -> 5651[label="",style="solid", color="black", weight=3]; 5474[label="Pos Zero",fontsize=16,color="green",shape="box"];5475[label="absReal0 (Neg (Succ vyv29400)) otherwise",fontsize=16,color="black",shape="box"];5475 -> 5652[label="",style="solid", color="black", weight=3]; 5476[label="Neg Zero",fontsize=16,color="green",shape="box"];5477[label="absReal1 (Integer (Pos (Succ vyv297000))) True",fontsize=16,color="black",shape="box"];5477 -> 5653[label="",style="solid", color="black", weight=3]; 5478[label="Integer (Pos Zero)",fontsize=16,color="green",shape="box"];5479[label="absReal0 (Integer (Neg (Succ vyv297000))) otherwise",fontsize=16,color="black",shape="box"];5479 -> 5654[label="",style="solid", color="black", weight=3]; 5480[label="Integer (Neg Zero)",fontsize=16,color="green",shape="box"];5645[label="primModNatS (Succ vyv34500) (Succ vyv34400)",fontsize=16,color="black",shape="box"];5645 -> 6052[label="",style="solid", color="black", weight=3]; 5646[label="primModNatS Zero (Succ vyv34400)",fontsize=16,color="black",shape="box"];5646 -> 6053[label="",style="solid", color="black", weight=3]; 5647[label="vyv34400",fontsize=16,color="green",shape="box"];5648[label="vyv3450",fontsize=16,color="green",shape="box"];5649[label="vyv34400",fontsize=16,color="green",shape="box"];5650[label="vyv3450",fontsize=16,color="green",shape="box"];5651[label="Pos (Succ vyv29400)",fontsize=16,color="green",shape="box"];5652[label="absReal0 (Neg (Succ vyv29400)) True",fontsize=16,color="black",shape="box"];5652 -> 6054[label="",style="solid", color="black", weight=3]; 5653[label="Integer (Pos (Succ vyv297000))",fontsize=16,color="green",shape="box"];5654[label="absReal0 (Integer (Neg (Succ vyv297000))) True",fontsize=16,color="black",shape="box"];5654 -> 6055[label="",style="solid", color="black", weight=3]; 6052[label="primModNatS0 vyv34500 vyv34400 (primGEqNatS vyv34500 vyv34400)",fontsize=16,color="burlywood",shape="box"];7680[label="vyv34500/Succ vyv345000",fontsize=10,color="white",style="solid",shape="box"];6052 -> 7680[label="",style="solid", color="burlywood", weight=9]; 7680 -> 6489[label="",style="solid", color="burlywood", weight=3]; 7681[label="vyv34500/Zero",fontsize=10,color="white",style="solid",shape="box"];6052 -> 7681[label="",style="solid", color="burlywood", weight=9]; 7681 -> 6490[label="",style="solid", color="burlywood", weight=3]; 6053[label="Zero",fontsize=16,color="green",shape="box"];6054[label="`negate` Neg (Succ vyv29400)",fontsize=16,color="black",shape="box"];6054 -> 6491[label="",style="solid", color="black", weight=3]; 6055[label="`negate` Integer (Neg (Succ vyv297000))",fontsize=16,color="black",shape="box"];6055 -> 6492[label="",style="solid", color="black", weight=3]; 6489[label="primModNatS0 (Succ vyv345000) vyv34400 (primGEqNatS (Succ vyv345000) vyv34400)",fontsize=16,color="burlywood",shape="box"];7682[label="vyv34400/Succ vyv344000",fontsize=10,color="white",style="solid",shape="box"];6489 -> 7682[label="",style="solid", color="burlywood", weight=9]; 7682 -> 6710[label="",style="solid", color="burlywood", weight=3]; 7683[label="vyv34400/Zero",fontsize=10,color="white",style="solid",shape="box"];6489 -> 7683[label="",style="solid", color="burlywood", weight=9]; 7683 -> 6711[label="",style="solid", color="burlywood", weight=3]; 6490[label="primModNatS0 Zero vyv34400 (primGEqNatS Zero vyv34400)",fontsize=16,color="burlywood",shape="box"];7684[label="vyv34400/Succ vyv344000",fontsize=10,color="white",style="solid",shape="box"];6490 -> 7684[label="",style="solid", color="burlywood", weight=9]; 7684 -> 6712[label="",style="solid", color="burlywood", weight=3]; 7685[label="vyv34400/Zero",fontsize=10,color="white",style="solid",shape="box"];6490 -> 7685[label="",style="solid", color="burlywood", weight=9]; 7685 -> 6713[label="",style="solid", color="burlywood", weight=3]; 6491[label="primNegInt (Neg (Succ vyv29400))",fontsize=16,color="black",shape="triangle"];6491 -> 6714[label="",style="solid", color="black", weight=3]; 6492[label="Integer (primNegInt (Neg (Succ vyv297000)))",fontsize=16,color="green",shape="box"];6492 -> 6715[label="",style="dashed", color="green", weight=3]; 6710[label="primModNatS0 (Succ vyv345000) (Succ vyv344000) (primGEqNatS (Succ vyv345000) (Succ vyv344000))",fontsize=16,color="black",shape="box"];6710 -> 6790[label="",style="solid", color="black", weight=3]; 6711[label="primModNatS0 (Succ vyv345000) Zero (primGEqNatS (Succ vyv345000) Zero)",fontsize=16,color="black",shape="box"];6711 -> 6791[label="",style="solid", color="black", weight=3]; 6712[label="primModNatS0 Zero (Succ vyv344000) (primGEqNatS Zero (Succ vyv344000))",fontsize=16,color="black",shape="box"];6712 -> 6792[label="",style="solid", color="black", weight=3]; 6713[label="primModNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];6713 -> 6793[label="",style="solid", color="black", weight=3]; 6714[label="Pos (Succ vyv29400)",fontsize=16,color="green",shape="box"];6715 -> 6491[label="",style="dashed", color="red", weight=0]; 6715[label="primNegInt (Neg (Succ vyv297000))",fontsize=16,color="magenta"];6715 -> 6794[label="",style="dashed", color="magenta", weight=3]; 6790 -> 7255[label="",style="dashed", color="red", weight=0]; 6790[label="primModNatS0 (Succ vyv345000) (Succ vyv344000) (primGEqNatS vyv345000 vyv344000)",fontsize=16,color="magenta"];6790 -> 7256[label="",style="dashed", color="magenta", weight=3]; 6790 -> 7257[label="",style="dashed", color="magenta", weight=3]; 6790 -> 7258[label="",style="dashed", color="magenta", weight=3]; 6790 -> 7259[label="",style="dashed", color="magenta", weight=3]; 6791[label="primModNatS0 (Succ vyv345000) Zero True",fontsize=16,color="black",shape="box"];6791 -> 6822[label="",style="solid", color="black", weight=3]; 6792[label="primModNatS0 Zero (Succ vyv344000) False",fontsize=16,color="black",shape="box"];6792 -> 6823[label="",style="solid", color="black", weight=3]; 6793[label="primModNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];6793 -> 6824[label="",style="solid", color="black", weight=3]; 6794[label="vyv297000",fontsize=16,color="green",shape="box"];7256[label="vyv345000",fontsize=16,color="green",shape="box"];7257[label="vyv345000",fontsize=16,color="green",shape="box"];7258[label="vyv344000",fontsize=16,color="green",shape="box"];7259[label="vyv344000",fontsize=16,color="green",shape="box"];7255[label="primModNatS0 (Succ vyv451) (Succ vyv452) (primGEqNatS vyv453 vyv454)",fontsize=16,color="burlywood",shape="triangle"];7686[label="vyv453/Succ vyv4530",fontsize=10,color="white",style="solid",shape="box"];7255 -> 7686[label="",style="solid", color="burlywood", weight=9]; 7686 -> 7288[label="",style="solid", color="burlywood", weight=3]; 7687[label="vyv453/Zero",fontsize=10,color="white",style="solid",shape="box"];7255 -> 7687[label="",style="solid", color="burlywood", weight=9]; 7687 -> 7289[label="",style="solid", color="burlywood", weight=3]; 6822 -> 5469[label="",style="dashed", color="red", weight=0]; 6822[label="primModNatS (primMinusNatS (Succ vyv345000) Zero) (Succ Zero)",fontsize=16,color="magenta"];6822 -> 6876[label="",style="dashed", color="magenta", weight=3]; 6822 -> 6877[label="",style="dashed", color="magenta", weight=3]; 6823[label="Succ Zero",fontsize=16,color="green",shape="box"];6824 -> 5469[label="",style="dashed", color="red", weight=0]; 6824[label="primModNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];6824 -> 6878[label="",style="dashed", color="magenta", weight=3]; 6824 -> 6879[label="",style="dashed", color="magenta", weight=3]; 7288[label="primModNatS0 (Succ vyv451) (Succ vyv452) (primGEqNatS (Succ vyv4530) vyv454)",fontsize=16,color="burlywood",shape="box"];7688[label="vyv454/Succ vyv4540",fontsize=10,color="white",style="solid",shape="box"];7288 -> 7688[label="",style="solid", color="burlywood", weight=9]; 7688 -> 7290[label="",style="solid", color="burlywood", weight=3]; 7689[label="vyv454/Zero",fontsize=10,color="white",style="solid",shape="box"];7288 -> 7689[label="",style="solid", color="burlywood", weight=9]; 7689 -> 7291[label="",style="solid", color="burlywood", weight=3]; 7289[label="primModNatS0 (Succ vyv451) (Succ vyv452) (primGEqNatS Zero vyv454)",fontsize=16,color="burlywood",shape="box"];7690[label="vyv454/Succ vyv4540",fontsize=10,color="white",style="solid",shape="box"];7289 -> 7690[label="",style="solid", color="burlywood", weight=9]; 7690 -> 7292[label="",style="solid", color="burlywood", weight=3]; 7691[label="vyv454/Zero",fontsize=10,color="white",style="solid",shape="box"];7289 -> 7691[label="",style="solid", color="burlywood", weight=9]; 7691 -> 7293[label="",style="solid", color="burlywood", weight=3]; 6876[label="Zero",fontsize=16,color="green",shape="box"];6877 -> 3445[label="",style="dashed", color="red", weight=0]; 6877[label="primMinusNatS (Succ vyv345000) Zero",fontsize=16,color="magenta"];6877 -> 6912[label="",style="dashed", color="magenta", weight=3]; 6878[label="Zero",fontsize=16,color="green",shape="box"];6879 -> 3446[label="",style="dashed", color="red", weight=0]; 6879[label="primMinusNatS Zero Zero",fontsize=16,color="magenta"];7290[label="primModNatS0 (Succ vyv451) (Succ vyv452) (primGEqNatS (Succ vyv4530) (Succ vyv4540))",fontsize=16,color="black",shape="box"];7290 -> 7294[label="",style="solid", color="black", weight=3]; 7291[label="primModNatS0 (Succ vyv451) (Succ vyv452) (primGEqNatS (Succ vyv4530) Zero)",fontsize=16,color="black",shape="box"];7291 -> 7295[label="",style="solid", color="black", weight=3]; 7292[label="primModNatS0 (Succ vyv451) (Succ vyv452) (primGEqNatS Zero (Succ vyv4540))",fontsize=16,color="black",shape="box"];7292 -> 7296[label="",style="solid", color="black", weight=3]; 7293[label="primModNatS0 (Succ vyv451) (Succ vyv452) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];7293 -> 7297[label="",style="solid", color="black", weight=3]; 6912[label="vyv345000",fontsize=16,color="green",shape="box"];7294 -> 7255[label="",style="dashed", color="red", weight=0]; 7294[label="primModNatS0 (Succ vyv451) (Succ vyv452) (primGEqNatS vyv4530 vyv4540)",fontsize=16,color="magenta"];7294 -> 7298[label="",style="dashed", color="magenta", weight=3]; 7294 -> 7299[label="",style="dashed", color="magenta", weight=3]; 7295[label="primModNatS0 (Succ vyv451) (Succ vyv452) True",fontsize=16,color="black",shape="triangle"];7295 -> 7300[label="",style="solid", color="black", weight=3]; 7296[label="primModNatS0 (Succ vyv451) (Succ vyv452) False",fontsize=16,color="black",shape="box"];7296 -> 7301[label="",style="solid", color="black", weight=3]; 7297 -> 7295[label="",style="dashed", color="red", weight=0]; 7297[label="primModNatS0 (Succ vyv451) (Succ vyv452) True",fontsize=16,color="magenta"];7298[label="vyv4530",fontsize=16,color="green",shape="box"];7299[label="vyv4540",fontsize=16,color="green",shape="box"];7300 -> 5469[label="",style="dashed", color="red", weight=0]; 7300[label="primModNatS (primMinusNatS (Succ vyv451) (Succ vyv452)) (Succ (Succ vyv452))",fontsize=16,color="magenta"];7300 -> 7302[label="",style="dashed", color="magenta", weight=3]; 7300 -> 7303[label="",style="dashed", color="magenta", weight=3]; 7301[label="Succ (Succ vyv451)",fontsize=16,color="green",shape="box"];7302[label="Succ vyv452",fontsize=16,color="green",shape="box"];7303 -> 6982[label="",style="dashed", color="red", weight=0]; 7303[label="primMinusNatS (Succ vyv451) (Succ vyv452)",fontsize=16,color="magenta"];7303 -> 7304[label="",style="dashed", color="magenta", weight=3]; 7303 -> 7305[label="",style="dashed", color="magenta", weight=3]; 7304[label="Succ vyv452",fontsize=16,color="green",shape="box"];7305[label="Succ vyv451",fontsize=16,color="green",shape="box"];} ---------------------------------------- (1633) TRUE